1、安装vsftp并启动服务
使用以下命令进行安装:
yum install vsftpd
安装完毕后,使用以下命令启动服务:
systemctl start vsftpd systemctl status vsftpd
并查看服务的启动状态:
如需要设置开机启动,则使用以下命令:
systemctl enable vsftpd
2、开启匿名用户,测试vsftp
使用 vi /etc/vsftpd/vsftpd.conf 编辑配置,确保以下三项为YES:
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
保存后使用以下命令重启vsftp从而让配置生效:
systemctl restart vsftpd
2.1 测试内网是否正常
使用以下命令安装ftp工具
yum install ftp
安装后使用anonymous匿名用户登录(无需登录密码)
ftp localhost
如图所示:
220表示服务正常,可以登陆;230表示登陆成功。
在ftp工具内使用ls命令可以查看文件夹信息:
2.2 测试外网是否正常
直接在浏览器中输入”ftp://ip/”后,使用匿名用户登录看是否正常:
建议使用cuteFtp工具进行连接,这样在连接使用时内看到错误信息
2.3 创建正式用的远程登录账号
2.3.1 配置vsftp
使用 vi /etc/vsftpd/vsftpd.conf 修改vsftp的配置:
anonymous_enable=YES 改为 NO(意思是禁止匿名用户登录)
#是否允许匿名用户登录(默认为YES) anonymous_enable=NO
将下图两行代码前的#号去掉,代表对chroot_list文件内的用户进行限制
#是否对chroot_list文件内的用户进行限制(默认为NO) chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
在文件最后面新增 allow_writeable_chroot=YES,表示允许已登录用户进行上传
#是否已登录用户进行上传(默认无此配置) allow_writeable_chroot=YES
2.3.2 创建对应的FTP用户
使用以下命令创建不允许进行shell登录的ftp用户:
useradd -d /home/ftptest -s /sbin/nologin ftptest
然后使用以下命令将刚刚创建的用户放在ftp用户组中:
usermod -aG ftp ftptest
分配目录操作权限给刚刚创建的ftp用户:
chown ftptest /home/ftptest
使用以下命令修改刚刚创建的ftp用户密码:
passwd ftptest
使用“vi /etc/vsftpd/chroot_list”命令修改用户登录名单:
然后使用ftp工具进行连接测试。
如果遇到密码明明正确但是始终提示503密码错误的情况,可修改“vi /etc/pam.d/vsftpd”文件,注释掉:
#auth required pam_shells.so
然后重启vsftp:
systemctl restart vsftpd
2.3.3 访问速度过慢的配置调整
编辑 /etc/vsftpd/vsftpd.conf 配置文件,在最下面添加以下信息:
#以下配置是为了解决连接超时的问题 #开启被动模式(默认无此配置) pasv_enable=YES pasv_min_port=4000 #随机最小端口 pasv_max_port=5000 #随机最大端口 #关闭DNS反向解析(默认无此配置) reverse_lookup_enable=NO
以上代码实现两个功能:
- 开启PASV被动访问模式
- 关闭DNS反向解析
然后重启vsftp:
systemctl restart vsftpd