文章摘要: 本文介绍了基于Mysql数据库的FTP虚拟用户管理;
测试平台: debian 8.0(测试正常)


添加libpam-mysql支持

# apt-get install libpam-mysql

或者下载pam-mysql源码安装,生成pam_mysql.so文件;


建立PAM认证信息

创建/etc/pam.d/vsftpd_db文件:

auth    required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0

注意事项:
1.指明了数据库用户名,数据库密码,数据库名称,数据表名,数据库存字段名;
2.加密模式说明:
crypt=0: 明文密码;
crypt=1: 使用crpyt()函数(对应SQL数据里的encrypt(),encrypt()随机产生salt);
crypt=2: 使用MYSQL中的password()函数加密;
crypt=3: 使用md5的散列方式;


建立数据库

数据库用户:vsftpd
数据库密码:123456
数据库名:ftpd
数据表名:user
字段名:name(FTP用户名) passwd(FTP用户密码)