需要创建一个虚拟的不能登录系统的用户vsftp
useradd -s /sbin/nologin -d /var/ftp vsftp
passwd vsftp   =>brightcs
chmod go+wrx /var/ftp

修改vsftp配置文件
/etc/vsftpd/vsftp.conf   

pam_service_name= vsftpd
guest_enable=YES
guest_username=vsftp


修改/etc/pam.d/下 vsftpd 文件,需要屏蔽掉其他的验证先,然后再添加mysql验证方式:
auth   required      /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1

account  required      /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1

需要注意2点:
1):
md5  crypt = 3
nocrypt   crypt =0
2)
如果你的数据库字段里面有用户状态字段,比如你想当用户被禁用时候,不可以访问ftp,那么可以增加通过where选项来实现, 比如: where=state=1, 具体可以查看安装包下面的README;