libpam mysql_vsftpd 通过 libpam-mysql 在mysql-server-5.0 上的认证的问题

范承教
2023-12-01

Debian: vsftpd 通过 libpam-mysql 在mysql-server-5.0 上的认证的问题

Q:看了一些GOOGLE上关于vsftpd的资料,自己测试后,虚拟用户不能通过验证.

A:要注意的问题,

1. /etc/vsftpd.conf 配置文件要写正确. 如果配置错误, ps aux | grep vsftpd 没有vsftpd进程

2. /etc/pam.d/vsftpd 认证文件确保只包含关于libpam-mysql的模块指令

3. mysql-server-5.0 /etc/mysql/my.cnf的参数 old_passwords = fase,创建表的时候确保passwd字段长度能够容纳加密后密码字符串的长度

Q:安全问题

1.创建虚拟用户的系统用户

useradd vsftpd -d /home/vsftpd

2.设置权限

chown vsftpd:vsftpd /home/vsftpd

Q: ftp日志

A: awstats方案

1.配置awstats

2.添加配置vsftpd( awstats_configure.pl ),在/etc/awstats 下生成 awstats.vsftpd.conf配置文件

3.修改日志类型为 F(ftp日志):

LogType=F

4.修改日志格式为wuftpd 标准日志格式

LogFormat="%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other"

A: 使用libpam-mysql 记录FTP日志

1.创建日志表

CREATE TABLE `log`(

lid INT NOT NULL auto_increment,

msg text,

user VARCHAR(32),

pid int,

host VARCHAR(32),

time VARCHAR(19),

PRIMARY KEY(lid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

2. 配置/etc/pam.d/vsftpd  添加两行

auth required /lib/security/pam_mysql.so verbose(1) user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=user passwdcolumn=passwd crypt=mysql sqllog=true logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logtimecolumn=timeaccount required /lib/security/pam_mysql.so verbose(1) user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=user passwdcolumn=passwd crypt=mysql sqllog=true logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logtimecolumn=time

 类似资料: