1、安装vsftpd、db4
yum -y install vsftpd
yum -y install db4
yum -y install db4-utils
2、生成账号
新建文件account.txt,并输入账号(奇数行是用户名,偶数行是密码),如:
admin
000000
3、生成口令文件,并修改权限
#db_load -T -t hash -f account.txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db
4、新建虚拟用户的PAM文件
#touch /etc/pam.d/vsftp.vu
加上以下内容:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/account
5、创建虚拟账号
useradd -d /home/ftpsite -s /sbin/nologin ftpsite
chmod 700 /home/ftpsite
6、修改/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
pam_service_name=/etc/pam.d/vsftpd.vu
guest_enable=YES
guest_username=ftpsite
user_config_dir=/etc/vsftpd/account
7、为子账户设置权限
#cd /etc/vsftpd
#mkdir account
#vi admin
输入以下内容:
anon_world_readable_only=NO
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
local_root=/home/ftpsit
8、检查SE设置,看是否关闭
getsebool ftpd_disable_trans
如果不是on,那么是输入命令
#setsebool ftpd_disable_trans 1
#setsebool -P ftpd_disable_trans 1
加入-P参数以便不需要每次开机都输入这个命令
9、重启
service vsftpd restart