yum -y install ftp vsftpd
2. 查看配置文件所在路径
rpm -qc vsftpd
3. 备份vsftpd原有配置文件
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bak
4. 创建密码明文文件
touch vftpuser.txt
vi vftpuser.txt输入内容(用户名和密码):
minbo
123456
5. 根据明文创建密码DB文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
6. 创建vftpd的guest账户(建议使用home目录)useradd -d /home/ftpsite -s /sbin/nologin vftpuser
7. 打开 /etc/pam.d/vsftpd,将auth及account的所有配置行全部注释掉,添加如下内容:
64位的linux系统:auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
32位的linux系统:auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
8. 打开/etc/vsftpd/vsftpd.conf,将# anonymous_enable=YES 改为 anonymous_enable=NO
在最下面添加如下内容:anon_root=/ftp/open
virtual_use_local_privs=YES
guest_enable=YES
guest_username=vftpuser
chroot_local_user=YES
allow_writeable_chroot=YES
9. 设置vsftpd开机启动systemctl enable vsftpd
10. 重新启动vsftpd服务systemctl restart vsftpd
11. 配置防火墙和SELinux我去掉了所有防火墙:iptables -F
SELinux:getsebool -a | grep ftpsetsebool -P ftpd_full_access on
12. 查看vsftpd服务的状态systemctl status vsftpd
搭建完成。
可以在Linux或Windows下测试了。
遇到的问题:
1. ftp报错 200 port command successful. consider using pasv 425 failed to establish connectionLinux防火墙和SELinux的问题,采取第11步
2. ftp登录验证失败,明明是输入了正确的用户名 minbo和密码 123456这是因为上文中第7步的设置问题,我是Linux64位的,当时写成了32位的用法,所以错了,要使用64位的写法