1 建立虚拟用户口令库
我建在了 根目录下
 #vi logins.txt
  在里面写用户名和口令,奇数行用户名,偶数行口令
2 生成vsftpd的认证文件
我在第一次生成的时候报了一个错误:-bash: db_load: command not found。这是因为linux默认只安装了db4-4.3.29-9.fc6.i386.rpmdb4-devel-4.3.29-9.fc6.i386.rpm
要使用db_load需要将位其他几张光盘中的db4-java-4.3.29-9.fc6.i386.rpm(第4张)\db4-tcl-4.3.29-9.fc6.i386.rpm(第4张)\(第3张)db4-utils-4.3.29-9.fc6.i386.rpm安装上
 # db_load -T -t hash -f logins.txt /etc/vsftpd_login.db  这条命令要在logins.txt 同一个目录输入     
  -f 命令后跟虚拟用户口令库文件,vsftpdlogin.db后跟生成的认证文件名
3 更改文件权限
 #chmod 600 /etc/vsftpd/vsftpd_login.db          vsftpd_login.db 只对root用户可读写
4 建立虚拟用户所需的PAM配置文件
 #vi /etc/pam.d/vsftpd.vu  在里面写下面的内容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login        
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
 
vsftpd_login  是认证文件去掉.db
4 建立虚拟用户及所要访问的目录并设置相应权限
 #useradd -d /home/ftpsite virtual        宿主目录home/ftpsite 帐号:virtual
 #chmod 700 /homegtpstie/                宿主目录的权限设为700
  vsftpd 服务器中的所有虚拟用户帐号登陆后都在 /home/ftlpsite
5 设置vsftpd.conf配置文件
vi /etc/vsftpd/vsftpd.conf 里面加上
 
 #guest_enable=YES               激活虚拟用户
 #guest_username=virtual         虚拟用户在linux里的用户名
 #pam_service_name=vsftpd.vu     判断虚拟用户的数据文件
 #user_config_dir=/etc/vsftpd_user_conf  虚拟用户指定的配置文件所在地址
 
 6 为不同的虚拟用户设置不同的权限
  1 )为虚拟用户设置主配置文件
   vsftpd.conf配置文件中,添加user_config_dir项,并设置保存的目录
 
 user_config_dir=/etc/vsftpd_user_conf
 
   2 )建立配置文件目录  (上面指定了目录,现在还没有建呢)
 
 #mkdir /etc/vsftpd_user_conf
 
   3) 为每个不同的虚拟用户建立不同的配置文件
   /etc/vsftpd_user_conf目录中可以为每个虚拟用户建立单独的配置文件,配置文件名称和用户名相同。
 
  local_root=/data/userspace  
  设置虚拟用户登录后的主目录
  anon_world_readable_only=NO
  具有浏览FTP目录和下载权限 
  anon_upload_enable=YES
  具有上传文件权限 
 anon_mkdir_write_enable=YES
具有建立和删除目录的权利 
 anon_other_write_enable=YES
具有文件改名和删除文件的权利
 
 
 
  重启服务!