mysql vsftp_vsftp配置验证方式mysql和文件虑拟用户
以下内容在ubuntu 9.04 server系统上测试通过
用apt-get install vsftp安装的时候相关的文件位置:
主配置文件:/etc/vsftpd.conf
验证配置文件/etc/pam.d/vsftpd
重启:/etc/init.d/vsftpd restart
vsftp Mysql验证方式:
MYSQL已经安装在/usr/local/mysql
直接安装vsftp
sudo apt-get install vsftp
安装pam_mysql
下载:http://sourceforge.net/projects/pam-mysql/
解压:
tar zxvf pam_mysql....tar.gz
cd pam_mysql...
./configure--with-openssl --with-mysql=/usr/local/mysql/
如果出现:configure: error: Cannot find pam headers. Please check if your system is ready for pam module development
安装libpam0g-dev:
sudo apt-get install libpam0g-dev
然后编译并安装:
sudo make install
会在/lib/security/创建:pam_mysql.so
创建数据库:ftp
create database ftp;
创建表:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
`passwd` char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE `ftp`.`logs` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`pid` INT( 10 ) NOT NULL ,
`content` TEXT NOT NULL ,
`user` VARCHAR( 32 ) NOT NULL ,
`host` VARCHAR( 32 ) NOT NULL ,
`rhost` VARCHAR( 32 ) NOT NULL ,
`logtime` TIMESTAMP NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
创建一个MYSQL用户:ftp
只把ftp库给此用户:
GRANT ALL PRIVILEGES ON `ftp` . * TO 'ftp'@'localhost' WITH GRANT OPTION ;
增加mysql验证方式:
增加一个文件:/etc/pam.d/vsftpd.mysql内容如下
auth required /lib/security/pam_mysql.so config_file=/srv/ftp/pam_mysql.conf
account required /lib/security/pam_mysql.so config_file=/srv/ftp/pam_mysql.conf
然后新建一个/srv/ftp/pam_mysql.conf
内容如下:
验证部分:
users.host=localhost
users.database=ftp
users.db_user=ftp
users.db_passwd=123456
users.table=users
users.user_column=name
users.password_column=passwd
users.password_crypt=0此处为0时密码为明文,