[root@serv01 vsftpd]# cd/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS  
[root@serv01 VIRTUAL_USERS]# ll  
   
--第一步,创建真实用户larry并设定密码  
[root@serv01 vsftpd]# useradd larry  
[root@serv01 vsftpd]# passwd larry  
--第二步,创建logins.txt文件,并添加内容如下  
[root@serv01 ~]# vim logins.txt  
[root@serv01 ~]# cat logins.txt  
#注意:一行用户名,一行密码;交替使用  
larry01  
123456  
larry02  
123456  
larry03  
123456  
larry04  
123456  
--第三步,创建login.db文件  
[root@serv01 ~]# db_load -T -t hash -flogins.txt /etc/vsftpd/login.db  
[root@serv01 ~]# cd /etc/vsftpd/  
--第四步,修改权限  
[root@serv01 vsftpd]# chmod 600 login.db  
--第五步,创建PAM文件,加入如下内容(可以到/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README文件复制),注意因为我使用的系统是
64位,所以需要把lib改成lib64,不然找不到这个模块文件  
[root@serv01 vsftpd]# vim /etc/pam.d/ftp  
[root@serv01 vsftpd]# cat /etc/pam.d/ftp  
auth required /lib/security/pam_userdb.sodb=/etc/vsftpd/login  
account required /lib/security/pam_userdb.sodb=/etc/vsftpd/login  
[root@serv01 vsftpd]# ls/lib/security/pam_userdb.so  
ls: cannot access/lib/security/pam_userdb.so: No such file or directory  
[root@serv01 vsftpd]# vim /etc/pam.d/ftp  
[root@serv01 vsftpd]# ls/lib64/security/pam_userdb.so  
/lib64/security/pam_userdb.so  
[root@serv01 vsftpd]# cat /etc/pam.d/ftp  
auth required /lib64/security/pam_userdb.sodb=/etc/vsftpd/login  
account required/lib64/security/pam_userdb.so db=/etc/vsftpd/login  
--第六步,修改vsftpd.conf配置文件  
[root@serv01 vsftpd]# vim vsftpd.conf  
[root@serv01 vsftpd]# cat vsftpd.conf  
listen=yes  
anonymous_enable=no  
local_enable=yes  
pam_service_name=ftp  
local_root=/share  
write_enable=yes  
local_max_rate=1024000  
#max_clients=10  
#max_per_ip=2  
#userlist_enable=yes  
#userlist_deny=yes  
chroot_list_enable=yes  
chroot_local_user=yes  
chroot_list_file=/etc/vsftpd/chroot_list  
user_config_dir=/etc/vsftpd/user_conf  
guest_enable=yes  
guest_username=larry  
--第七步,重启服务  
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart  
Shutting down vsftpd:      [  OK  ]  
Starting vsftpd for vsftpd:[  OK  ]  
--第八步,测试,注意使用虚拟用户登录,比如larry01 larry02  
[root@serv02 ~]# ftp 192.168.1.11  
Connected to 192.168.1.11 (192.168.1.11).  
220 (vsFTPd 2.2.2)  
Name (192.168.1.11:root): larry01  
331 Please specify the password.  
Password:  
230 Login successful.  
Remote system type is UNIX.  
Using binary mode to transfer files.  
ftp> exit  
221 Goodbye.  
[root@serv02 ~]# ftp 192.168.1.11  
Connected to 192.168.1.11 (192.168.1.11).  
220 (vsFTPd 2.2.2)  
Name (192.168.1.11:root): larry02  
331 Please specify the password.  
Password:  
230 Login successful.  
Remote system type is UNIX.  
Using binary mode to transfer files.  
ftp> exit  
221 Goodbye.  
--第九步,验证。可以发现up01和up02在真实系统中不存在  
[root@serv01 vsftpd]# ip up01  
Object "up01" is unknown, try"ip help".  
[root@serv01 vsftpd]# ip larry01  
Object "larry01" is unknown, try"ip help".  
[root@serv01 vsftpd]# ip larry02  
Object "larry02" is unknown, try"ip help".