构建基于虚拟用户的Vsftpd服务器
1.建立虚拟FTP用户的帐号数据库文件
首先建立虚拟用户的帐号名,密码列表(奇数行为帐号名,偶数行为上一行中帐号的密码)
#cd /etc/vsftpd/
#vim vuser.txt
wendy
123456
king
123456
yum localinstall db-utils-4.3.29-9.fc6.i386.rpm -y 转换工具 实现将文件转换数据库文件
#db_load -T –t hash –f vuser.txt vuser.db
#chmod 600 vuser.txt vuser.db
#ls -l
2、创建FTP根目录及虚拟用户映射的系统用户
#mkdir /var/ftproot
#useradd -d /var/ftproot vsftp (指定系统账户的家目录)
#chmod 755 /var/ftproot/
#chown vsftp:vsftp /var/ftproot/
3、建立支持虚拟用户的PAM认证文件
#vi /etc/pam.d/vsftpd.vu (文件内容为:
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vuser
account reuqired pam_userdb.so db=/etc/vsftpd/vuser
(要对应第一步中建立的vuser.db文件)
4、在vsftpd.conf文件中添加支持配置
#vi /etc/vsftpd/vsftpd.conf
local_enable=YES 默认开启
write_eanble=YES 默认已经开启
anon_umask=022 添加
guest_enable=YES 添加
guest_username=vsftp 添加
pam_service_name=vsftpd.vu 修改 这样会造成原有的系统用户不能登陆,
可以直接在/etc/pam.d/vsftpd认证配置文件中修改,而不用创建
5、为个别虚拟用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vuser
为用户wendy,king建立独立的配置目录及文件
配置文件名与用户名同名
#mkdir /etc/vsftpd/vusers/
#cd /etc/vsftpd/vusers/
#vim wendy
anon_upload_enable=NO
anon_mkdir_write_enable=NO
#vim king
anon_upload_enable=YES
anon_mkdir_write_enable=YES
6、重新加载vsftpd配置
#service vsftpd restart
7、测试
lftp 192.168.0.169 -u wendy 可以查看文件 不可以上传文件和创建文件,
king可以上传并创建
注意:selinux开启情况下 也不可以上传文件,可以
getsebool -a | grep ftp
setsebool -P ftp_home_dir on
service vsftpd restart