软件环境
系统:CentOS7
安装模式:最小化安装
1. 安装vsftpd
yum install vsftpd -y
2. 创建虚拟用户列表
vi /etc/vsftpd/ftpusers.txt
输入
spy01
123
spy02
123
温馨提示:一行用户名一行密码
3. 生成db文件
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
4. 编辑pam配置文件
vi /etc/pam.d/vsftpd
输入以下两行,并且注释掉其余行
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
温馨提示:一定要注释掉其余行,不然认证通不过。很多童鞋忽略了这点所以最后没法登录。(如下图)
5. 创建系统用户,用于虚拟用户映射
useradd ftpuser -s /sbin/nologin
6. 编辑vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
加入以下几行
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
温馨提示:行尾不能有空格,不然会报错
7. 创建虚拟用户配置文件存放目录
mkdir /etc/vsftpd/vsftpd_user_conf
8. 创建虚拟用户的私有目录,并且修改属主和属组
mkdir /home/ftpuser/spy01
mkdir /home/ftpuser/spy02
chown ftpuser: /home/ftpuser -R
9. 创建虚拟用户配置文件
创建spy01配置文件
vi /etc/vsftpd/vsftpd_user_conf/spy01
加入以下两行
local_root=/home/ftpuser/spy01
write_enable=YES
创建spy02配置文件
vi /etc/vsftpd/vsftpd_user_conf/spy02
加入以下两行
local_root=/home/ftpuser/spy02
write_enable=YES
温馨提示:行尾一定一定不能有空格,楼主就在这里卡了好久
10. 重启vsftpd,关闭防火墙,关闭seLinux
systemctl restart vsftpd
systemctl stop firewalld
setenforce 0