1.建立虚拟ftp用户的账号数据库文件
建立虚拟用户的账号名,密码列表
vim /etc/vsftpd/vusers.list
gentoo
124
centos
456
cd /etc/vsftpd
db_load -T -t hash -f vusers.list
file vusers.db
vusers.db:Berkeley DB (Hash,version 8,native byte-order)
chmod 600 /etc/vsftpd/vusers.*
2.创建FTP根目录及虚拟用户映射的系统用户
mkdir /var/ftproot
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ftproot/
3.建立支持虚拟用户的PAM认证文件
vim /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
4.在vsftpd.conf文件中添加支持配置
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
5.为个别虚拟用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir
为用户gentoo,centos建立独立的配置目录及文件
配置文件名与用户名同名
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
touch gentoo
vim centos
anon_upload_enable=YES
anon_mkdir_write_enable=YES
6.重新加载vsftpd配置
service vsftpd reload
7.使用虚拟FTP账号访问测试
分别用gentoo,centos用户登录ftp服务器进行测试
gentoo用户可以登录,并可以浏览,下载文件,但无法上传
centos用户可以登录,并可以浏览,下载文件,也可以上传
匿名用户或其他系统用户将不能登录
注意:如果无法登录的话请检查selinux是否开启:
getenforce
Enforcing(如果是enforcing)则可以将其关闭
setenforce 1
或者使用如下方法解决:
getsebool -a |grep ftp
setsebool ftp_home_dir=1
setsebool allow_ftpd_full_access=1
阅读(1452) | 评论(0) | 转发(0) |