• 搭建过程

    1. 安装 vsftp 服务(yum 安装即可)
    2. 配置/etc/vsftpd/vsftpd.conf
      1.  
      2. anonymous_enable=NO #禁止匿名登录
      3. local_enable=YES #允许本地用户登录,注意虚拟用户也是映射本地用户登录的
      4. chroot_local_user=YES #是否将用户禁锢在主目录,一般配合 chroot_list_file和 chroot_list_enable 一起使用。
      5. local_root=/var/ftp #本地用户 ftp 根目录
      6. local_umask=022 #ftp 本地用户创建文件的权限掩码)
      7. xferlog_enable=YES #开启日志记录)
      8. xferlog_std_format=YES #使用标准 ftp 日志格式
      9. pasv_enable=YES #(开启被动模式)
      10. pasv_addr_resolve=YES
      11. pasv_address=58.251.160.178
      12. #以上两行支持被动模式 iptables 的 nat 端口映射,欺骗客户端 ftp 服务器地址为 nat 转换后的地址
      13. #只需在连接外网时使用
      14. pasv_min_port=10001
      15. pasv_max_port=10010
      16. #被动模式端口范围
      17. listen=YES
      18. pam_service_name=vsftpd_login #指定 Vsftpd 的 pam 验证配置文件名
      19. user_config_dir=/etc/vsftpd/users_config #指定虚拟用户配置文件路径
      20. guest_enable=YES #启用虚拟用户
      21. guest_username=vftp #指定虚拟用户本地宿主用户
      22.  
    3. 新建虚拟用户本地宿主用户
      1.  
      2. useradd vftp –d /home/vsftp –s /sbin/nologin #宿主用户不用登陆系统的权限
    4. 虚拟用户名单
      1. 先建立虚拟用户名单文件 vi /etc/vsftpd/vsftpdlogin
      2. 添加用户(可编辑多个虚拟用户,奇数行账号,偶数行密码)
        1.  
        2. xdataftp
        3. xdataftp
        4. xbusftp
        5. xbusftp
        6.  
    5. 生成口令库文件,注意修改文件权限为 600

db_load -T -t hash -f /etc/vsftpd/vsftpdlogin /etc/vsftpd/vsftpdlogin.db chmod 600 /etc/vsftpd/vsftpdlogin.db

      • 注意:如果 db_load 命令不可用,需要安装 db4-utils 软件包。
    1. 新建虚拟用户 pam 验证文件,是在 vsftpd.conf 中所需指定的验证文件
      • 编辑/etc/pam.d/ vsftpd_login(db 文件时上面生成的 vsftpdlogin.db)

        1.  
        2. auth required pam_userdb.so db=/etc/vsftpd/vsftpdlogin
        3. account required pam_userdb.so db=/etc/vsftpd/vsftpdlogin
        4.  
    2. 建立虚拟用户配置文件
      1. mkdir /etc/vsftpd/users_config #这个为vsftpd.conf中user_config_dir指定的
      2. 编辑/etc/vsftpd/users_config/xdataftp
        1.  
        2. local_root=/data/ftp/xdataftp (指定此虚拟用户的根目录)
        3. write_enable=YES #本地权限 可注释
        4. download_enable=YES #本地权限 可注释
        5. anon_world_readable_only=NO
        6. anon_upload_enable=YES
        7. anon_mkdir_write_enable=YES
        8. anon_other_write_enable=YES
        9.  
      3. 注意:以上是开放此虚拟用户所有权限。包括读、写、删除、更改、替换。可以根据相应的需求更改。
    3. 重启服务 service vsftpd restart
    4. 安装flashFTP客户端登录验证
    5. 注意:
      1. 配置文件不能有多余空格,否则会导致 ftp 登录或者数据传输失败。
      2. 如果 ftp 服务器本地有防火墙,需要开放 21、20 和被动模式指定的 10001—10010 端口,并关闭机器 selinux。
      3. iptables 的 nat 端口映射,让外网客户端访问内网 ftp 服务
        1.  
        2. -A PREROUTING -d 58.251.160.178/32 -p tcp -m tcp --dport 40021 -j DNAT --todestination 172.16.100.4:21
        3. -A PREROUTING -d 58.251.160.178/32 -p tcp -m tcp --dport 10001:10010 -j DNAT --to-destination 172.16.100.4
        4.  
      4. autofs卸载后需要reboot

ftp服务器端的安装及配置的更多相关文章

  1. FTP服务器的安装和配置

    FTP服务器的安装和配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本来是想出一个源码安装ftp的教程,但是想想还是算了,如果你自学python有个10天的话你自己就能写一个f ...

  2. SVN服务器端的安装和配置

    第2章 SVN 的下载与安装 服务器端的安装和配置 所有的开发人员用自己的账号登录进来就可以拥有对仓库里面的所有文件的读和写的权限 创建用户

  3. ubuntu16.04下ftp服务器的安装与配置

    由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器.记录一下ftp的安装过程,以便以后使用.服务器端所用系统为Ubuntu16.04. 1. 安装ftp服务器, apt-get i ...

  4. Linux环境下SVN服务器端的安装与配置

    最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...

  5. linux系统下FTP服务器的安装和配置

    FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. PORT模式: 首先客户端开启一个非特权端口N(大 ...

  6. FTP服务器的安装与配置

    查看是否安装ftp: rpm -qa |grep vsftpd 1.安装vsftp 1.1.安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2 ...

  7. 阿里云Centos 7 FTP(vsftp)服务安装及配置

    #检查vsftpd是否安装 rpm -qa | grep vsftpd #检查vsftpd版本并安装 yum list vsftpd yum install vsftpd #设置开机启动 system ...

  8. Linux学习总结(21)——CentOS7环境下FTP服务器的安装和配置

    1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsf ...

  9. [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

随机推荐

  1. POJ 2409 Let it Bead 组合数学

    题目地址: http://poj.org/problem?id=2409 给你一串珠子有m个,用n种不同的颜色涂色,问有多少种分法. 用polay定理求解,对于排成一排的带编号的小球,按照某一种方案改 ...

  2. 设置代码ios 6添加日历事件No calendar has been set.错误

    查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 在iOS 6做日历事件添加时,来来回回报错,No calendar has been set ...

  3. Linux进程分配内存的两种方式--brk() 和mmap()

    如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看. majflt代表major fault,中文名叫大错误,minflt代表minor faul ...

  4. jvm工具

    jvm工具 知识,经验是基础,数据是依据,工具是运营知识处理数据的手段 数据:运行日志.异常堆栈.GC日志.线程快照.堆转存储快照 JPS:虚拟机进程状况工具 jvm process status t ...

  5. 创建 OVS vlan100 netwrok - 每天5分钟玩转 OpenStack(137)

    上一节完成了 OVS vlan network 的配置准备工作,今天我们创建 vlan100.打开菜单 Admin -> Networks,点击 "Create Network&quo ...

  6. .NET基础——运算符

    这一篇我们来讲解C#中的运算符 1. C#中的算术运算符 5个算数运算符:+  -  *  /  %     它们都是二元运算符,*  /  % 的运算优先级相同,并且高于 +  - ,+  - 的运 ...

  7. HTML <dl> 标签

    <html><body><h2>一个定义列表:</h2><dl>   <dt>计算机</dt>   <dd&g ...

  8. Atitti 图像处理 特征提取的科技树 attilax总结

    Atitti 图像处理 特征提取的科技树 attilax总结 理论 数学,信号处理,图像,计算机视觉 图像处理 滤波 图像处理 颜色转换 图像处理 压缩编码 图像处理 增强 图像处理 去模糊 图像处理 ...

  9. 【原】手写一个promise

    上一篇文章中,我们介绍了Promise的基本使用,在这篇文章中,我们试着自己来写一个Promise,主要是学习Promise的内部机制,学习它的编程思想. !!!备注:本文写的不好,仅供自己学习之用, ...

  10. linux kernel 编译

    lin