您的位置:首页 > 运维架构 > Linux

CentOS 7.7搭建FTP Sserver

2020-04-06 07:15 1546 查看

一、安装vsftpd

  1、安装vsftpd:   yum -y install vsftpd

  2、启动vsftpd:   systemctl start vsftpd

  3、设置开机启动:  systemctl enable vsftpd

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

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

anonymous_enable=NO               //是否允许匿名登陆

local_enable=YES                     // 允许本地用户访问

write_enable=YES                     // 允许本地用户写入

local_umask=022                      // 上传后的文件的默认掩码

dirmessage_enable=YES               //设定开启目录标语功能

xferlog_enable=YES                    //设定开启日志记录功能

connect_from_port_20=YES            //设定端口20进行数据连接

chown_uploads=NO                    //设定禁止上传文件更改宿主

xferlog_file=/var/log/xferlog           //设定vsftp的服务日志保存路径

xferlog_std_format=YES               //设定vsftp的服务日志保存路径

chroot_local_user=YES                 // 禁止本地用户离开自己的主目录

chroot_list_enable=YES                 // 不允许用户离开自己的主目录

chroot_list_file=/etc/vsftpd/chroot_list   // 虚拟用户列表,每行一个用户名,代表对chroot_list文件内的用户进行限制

listen=YES   //设定vsftpd 服务工作在standalone模式下,有自己的进程,在ps -a 命令下可以看见守护进程名。

listen_ipv6=NO //设定vsftpd服务工作不在 ipv6 模式下,否则会和ipv4冲突,从而无法启动vsftpd服务

pam_service_name=vusers.vu            // 权限验证需要的加密文件

userlist_enable=YES                     设定userlist_file中的用户将不得使用ftp

tcp_wrappers=YES                      //设定支持TCP wrappers

以下这些是关于vsftp虚拟用户支持的重要配置项目,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加配置。

guest_enable=YES                       // 开启虚拟用户功能

guest_username=ftp                     // 虚拟用户的宿主目录

virtual_use_local_privs=YES                // 用户登录后操作目录和本地用户权限一样

user_config_dir=/etc/vsftpd/vconf          // 虚拟用户主目录设置文件

allow_writeable_chroot=YES               // 虚拟用户登陆权限,允许已登录用户进行上传

listen_port=21                         //登陆连接时的指定端口

#pasv_min_port=10060                   //被动模式的最小端口

#pasv_max_port=20090                   //被动模式的最大端口

#pasv_enable=YES      

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

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

       2、vim /etc/vsftpd/chroot_list,//添加用户

     user1

     user2

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

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

  1、vim /etc/vsftpd/vusers.list   // 创建用户和密码

  user1      //用户名

  a123456    //密码

        user2      //用户名

  b123456    //密码

  2、设置数据库

     cd /etc/vsftpd  

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

       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

          write_enable=YES
          anon_umask=022
          anon_world_readable_only=YES
          anon_upload_enable=YES
          anon_mkdir_write_enable=YES
          anon_other_write_enable=YES

  5、vim user2

    local_root=/ftpserver/user2

             write_enable=YES
             anon_umask=022
             anon_world_readable_only=YES
             anon_upload_enable=YES
             anon_mkdir_write_enable=YES
             anon_other_write_enable=YES

6、systemctl  restart vsftpd  //重启服务即可访问FTP

八、开放防火墙端口

 firewall-cmd --zone=public --add-interface=eth0  --permanent (eth0这里应该是你的网路配置文件)

firewall-cmd --zone=public --add-port=20/tcp --permanent

firewall-cmd --zone=public --add-port=21/tcp --permanent

firewall-cmd --zone=public --add-port=21/udp --permanent

firewall-cmd --zone=public --add-port=20/udp --permanent

firewall-cmd --zone=public --add-port=10060-20090/udp --permanent

firewall-cmd --zone=public --add-port=10060-20090/tcp --permanent

firewall-cmd –reload

九、关闭seLInux,vim /etc/selinux/config

SELINUX=disabled

        SELINUXTYPE=targeted

十、systemctl  restart vsftpd

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
丿无极丨丶心 发布了2 篇原创文章 · 获赞 1 · 访问量 1386 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: