1、使用D库存储用户名和密码

所需软件:

#rpm –qa | grep db4

Db4-devel-4.2.52-7.1

Db4-4.2.52.7.1

Db4-utils-4.2.52-7.1

2、建立一个logins.txt的文件 ,单行为用户名,双数行为 密码

如: #vim /home/logins.txt

test1

123456

 

3、建立数据库文件并设置文件属性

#db_load –T –t hash –f /home/logins.txt /etc/vsftpd_login.db

#chmod 600 /etc/vsftpd_login.db

4、建立认证文件

#vim /etc/pam.d/ftp将前面的全部禁止掉,插入如下两行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_logiin

account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

Vsftp的虚拟用户实验_第1张图片

5、建立一个虚拟用户

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

# ls -ld /home/vsftpd

drwx------ 3 vsftpd vsftpd 1024 jun 6 22:55 /home/vsftpd

clip_p_w_picpath004[4]

6、编写配置文件

# vim /etc/vsftpd.conf

Vsftp的虚拟用户实验_第2张图片

注释:

其中的guest_enable 和guest_username 两行是启用虚拟用户,因为虚拟用户默认使用的是匿名用户权限,如果指定virtual_user_local_privs=YES,则虚拟用户和本地用户权限相同。

也可以独立设置它们的权限

可以在/etc/vsftpd/vsftpd.conf中添加user_config_dir=/etc/vsftpd/user_config

如:

user_config中建立与虚拟用户一样的文件,如virtual1(可创建目录,写,上传速度),指定目录/root/virtual1

vim virtual1

内容:

anon_mk_wirte_enable=YES

anon_max_rate=50000

anon_root=/root/virtual1

可设置的权限:

anon_world_readable_only=NO ‘能读,不能浏览目录

anon_upload_enable=YES ’能否上传

anon_mkdir_write_enable=YES ’创建目录和写操作

anon_other_write_enable=YES ‘允许创建和删除

测试结果如下:

Vsftp的虚拟用户实验_第3张图片