vsftp虚拟用户使用pam认证方式:
首先将虚拟用户名和密码写入一个文件:
#vi user.txt
ftpuser1
123456
ftpuser2
123456
……
之后执行命令将 user.txt 文件转换成加密的PAM认证文件:
db_load -T -t hash -f user.txt ftpuser.bdb 
之后修改:
vi /etc/pam.d/vsftpd
将内容全部注释掉并添加:
auth required pam_userdb.so db=db文件的路径,不加.dbd
account required pam_userdb.so db=db文件的路径,不加.dbd
完成pam认证方式的配置
如果需要增加虚拟用户先将要增加的用户添加到一个文件中:
vi adduser.txt
ftpadd1
123456
ftpadd2
123456
……
使用:
db_load -T -t hash -f adduser.txt addftpuser.bdb 
之后通过 db_dump 工具输出:
db_dump addftpuser.bdb > addftpuser.txt
将原pam认证文件也使用 db_dump 工具输出:
db_dump ftpuser.bdb > ftpuser.txt
然后打开ftpuser.txt 和 addftpuser.txt
格式类似:
VERSION=3 #版本
format=bytevalue #本文格式
type=hash #加密方式
h_nelem=2 #文件内含用户的数量
db_pagesize=4096
HEADER=END #头属性结束
6674707573657231 #第一个用户的用户名
313233343536 #第一个用户的密码
6674707573657232 #第二个用户的用户名
313233343536 #第二个用户的密码
DATA=END #数据属性结束
将addftpuser.txt中的内容相应的加入到ftpuser.txt 中并且修改文件内用户的数量
之后在使用db_load回复pam的配置文件。
(执行操作之前一定要做备份)
db_load -f ftpuser.txt ftpuser.bdb 
这里的 ftpuser.txt 是将 addftpuser.txt中的内容加入之后新的ftpuser