CentOS7 搭建FTP服务器

一、安装vsftpd
  1、安装vsftpd: yum install vsftpd -y
  2、启动vsftpd: systemctl start vsftpd
  3、设置开机启动:systemctl enable vsftpd

  4、创建ftp根目录: mkdir -p /ftpserver

二、设置配置文件:vim /etc/vsftpd/vsftpd.conf 

  listen=NO                 // 如此条改为了,等于YES也行
  listen-address=172.16.0.236         // 绑定本机IP
  #禁止匿名访问
  anonymous_enable=NO
  anon_upload_enable=NO
  anon_mkdir_write_enable=NO
  anon_other_write_enable=NO


  chroot_list_enable=NO           // 不允许用户离开自己的主目录
  chroot_list_file=/etc/vsftpd.chroot_list    // 虚拟用户列表,每行一个用户名
  local_enable=YES               // 允许本地用户访问
  write_enable=YES              // 允许本地用户写入
  local_umask=022              // 上传后的文件的默认掩码
  chroot_local_user=YES            // 禁止本地用户离开自己的主目录
  pam_service_name=vsftpd.vu        // 权限验证需要的加密文件
  guest_enable=YES              // 开启虚拟用户功能
  guest_username=ftp            // 虚拟用户的宿主目录
  virtual_use_local_privs=YES          // 用户登录后操作目录和本地用户权限一样
  user_config_dir=/etc/vsftpd/vconf     // 虚拟用户主目录设置文件
  allow_writeable_chroot=YES        // 允许写入用户主目录,这条特别重要

三、添加用户,并创建用户目录

  1、vim /etc/vsftpd.chroot_list,添加两个用户如进去,分别为:

  user1

  user2

  2、mkdir -p  /ftpserver/user1  /ftpserver/user2 // 创建用户目录

  3、chmod –R 755 /ftpserver/user1 /ftpserver/user2 // 修改目录权限

四、设置用户密码和数据库

  1、echo -e "user1 123456 user2 123456" >/etc/vsftpd/vusers.list   // 创建用户和密码

  2、cd /etc/vsftpd                              

  3、db_load  –T  –t  hash  –f  vusers.list  vusers.db  

  4、chmod  600  vusers.*

五、指定认证方式,添加如下内容 vim /etc/pam.d/vsftpd.vu

  #%pam-1.0

  auth   required  pam_userdb.so  db=/etc/vsftpd/vusers

  account  required  pam_userdb.so  db=/etc/vsftpd/vusers 

六、创建文件并指定ftp用户目录

  1、mkdir –p /etc/vsftpd/vconf

  2、cd /etc/vsftpd/vconf

  3、touch user1 user2
  4、添加内容,vim user1

    local_root=/ftpserver/user1

  5、vim user2

    local_root=/ftpserver/user2

七、重启服务即可访问FTP:systemctl  restart vsftpd

八、添加新用户

  1、创建新用户目录:mkdir -p /ftpserver/test1
  
  2、 添加用户名,vim /etc/vsftpd.chroot_list,添加内容: test1
   
  3、修改目录权限Chmod –R 755 /ftpserver/test1

  4、添加用户及密码,vim /etc/vsftpd/vusers.list
    test1      //用户名
    a123456    //密码
  5、设置数据库
    cd /etc/vsftpd
    db_load –T –t hash –f vusers.list vusers.db
    chmod 600 vusers.*
  6、创建文件名文件,并指定用户目录
    touch /etc/vsftpd/vconf/test1
    vim /etc/vsftpd/vconf/test1
    local_root=/ftpserver/test1

注意事项:

1、如让用户有写入权限,则需给用户目录添加其它用户的写入权限: chmod o+w /ftpserver/jefflee
2、如还访问不了,记得设置(打开:vim /etc/selinux/config):SELINUX=permissive

转 :  https://www.cnblogs.com/jefflee168/p/6575014.html

原文地址:https://www.cnblogs.com/fps2tao/p/9956727.html