卸载安装vsftpd

  1. 如果之前安装过vsftpd服务,需要先进行卸载    
  2. 查看当前服务器中的vsftpd :   
    rpm -qa|grep vsftpd     例如执行结果为:vsftpd-2.2.2-13.el6_6.1.x86_64
  3. 执行卸载:  rpm -e vsftpd-2.2.2-13.el6_6.1.x86_64
  4. 删除遗留的文件: rm -rf /etc/vsftpd
  5. 运行以下命令安装vsftpd:  dnf install -y vsftpd
  6. 运行以下命令设置FTP服务开机自启动: systemctl enable vsftpd.service
  7. 运行以下命令启动FTP服务  systemctl start vsftpd.service
  8. 运行以下命令查看FTP服务监听的端口。netstat -antup | grep ftp

配置本地用户访问FTP服务器

  1. 运行以下命令为FTP服务创建一个Linux用户: adduser ftptest
  2. 运行以下命令修改ftptest用户的密码。 passwd ftptest
  3. 运行以下命令创建一个供FTP服务使用的文件目录。mkdir /var/ftp/test
  4. 运行以下命令更改/var/ftp/test目录的拥有者为ftptest。 chown -R ftptest:ftptest /var/ftp/test
  5. 修改vsftpd.conf配置文件
  •     运行以下命令打开配置文件。vim /etc/vsftpd/vsftpd.conf
#修改下列参数的值
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#监听IPv4 sockets
listen=YES
#在行首添加#注释掉以下参数,关闭监听IPv6 sockets
#listen_ipv6=YES

#添加下列参数
#设置本地用户登录后所在目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例公网IP
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值
pasv_min_port=<port number>
#设置被动模式下,建立数据传输可使用的端口范围的最大值
pasv_max_port=<port number>

6 创建chroot_list文件,并在文件中写入例外用户名单。

                 1 运行以下命令创建chroot_list文件。 vim /etc/vsftpd/chroot_list

                 2  按i进入编辑模式,将刚才创建的用户名加入到文件中

                 3 按Esc退出编辑模式,然后输入:wq并回车以保存并关闭文件。

7 运行以下命令重启vsftpd服务。

   systemctl restart vsftpd.service

设置安全组

搭建好FTP站点后,在实例安全组的入方向添加规则并放行下列FTP端口 FTP被动模式需要开放端口21,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。

使用FileZilla客户端工具进行测试访问

 

添加其他普通用户(只有读权限,不能上传修改文件)

useradd -d /home/ftptest test  //添加用户,指定访问的文件夹

vim /etc/vsftpd/chroot_list  //编辑此文件,将刚才添加的用户加入到文件中