构建基于虚拟用户的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