1、 建立虚拟用户口令库文件logins.txt

clip_image002

/etc/vsftpd/login.txt文件内容如下:

RHEL5基于虚拟用户验证的VSFTP服务器_第1张图片

口令库文件中奇数行设置用户名,偶数行设置口令

2、 生成vsftpd的认证文件

#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/ login.db  ##生成认证数据库文件login.db

clip_image006

备注:如果没有db_load命令,则需要安装下面这个RPM包

clip_image008

3、设置认证文件只对root用户可读可写

# chmod 600 /etc/vsftpd/login.db

clip_image010

4、建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件。

#vim /etc/pam.d/vsftpd.vu 内容如下:

clip_image012

5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号家目录的权限。

# useradd -s /sbin/nologin –d /home/vftp vftp

clip_image014

6、设置vsftpd.conf配置文件

#vi /etc/vsftpd/vsftpd.conf

在配置文件中添加虚拟用户的配置内容(最好也禁用匿名帐号)

guest_enable=YES

guest_username=vftp

pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)

user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)
local_root=/ftpsite (这行没有,虚拟用户登入到/home/vftp)

RHEL5基于虚拟用户验证的VSFTP服务器_第2张图片

7、配置虚拟用户名的设置

#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)
#mkdir -p /ftpsite/vuser1 (创建虚拟用主目录)
#chmod -R 777 /ftpsite/vuser1 (设定权限)

RHEL5基于虚拟用户验证的VSFTP服务器_第3张图片

#vi /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件),内容如下:
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/ftpsite/vuser1
anon_mkdir_write_enable=YES

RHEL5基于虚拟用户验证的VSFTP服务器_第4张图片

同样方法建立vuser2虚拟用户配置文件.

8、重新启动vsftpd服务程序

clip_image022

9、用虚拟帐号登陆测试如下:

RHEL5基于虚拟用户验证的VSFTP服务器_第5张图片