1.安装vsftp、mysql、epel_release(epel源,后面要安装的pam_mysql认证模块需要这个源)、pam_mysql
2.刚装的mysql运行一下/usr/bin/mysql_secure_installation
3.建立数据库vsftpd,建表user,
create database vsftpd;
use vsftpd;
create users(id int auto_increment primary key,name char(20) binary,passwd char(41) binary);
4.插入两条测试用户数据
insert into users(name,passwd) values(t1,password('t1'));
insert into users(name,passwd) values(t2,password('t2'));
5.添加连接数据库的用户(vsftpd)以及密码(vsftpdp@ssword)
grant select on vsftpd.* to 'vsftpd'@'127.0.0.1' identified by 'vsftpdp@ssword';
6.添加pam配置文件并修改vsftpd.conf
在/etc/pam.d/下建立文件 vsftpd.mysql
添加内容:
auth required pam_mysql.so user=vsftpd passwd=cztvu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2
account required pam_mysql.so user=vsftpd passwd=cztvu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2
修改vsftpd.conf添加
guest_enable=yes
guest_username=vuser (虚拟用户映射到系统的vuser本地用户,我们需要等下在后面添加一下vuser本地用户)
user_config_dir=/etc/vsftpd/vuser_conf/ (这个目录里面可以添加对应的虚拟用户名称的配置文件,可以给不同的虚拟用户配置不同的权限)
pam_service_name=vsftpd.mysql
7.添加vuser本地用户
useradd -s /sbin/nologin vuser -d /var/ftproot (这个目录/var/ftproot可以自己定,最终你可以通过配置虚拟用户的配置文件,指定虚拟用户的根目录)
8.本例虚拟用户是t1、t2所以你需要在/etc/vsftpd/vuser_conf/这个目录下建立同名的t1 t2配置文件,具体配置根据实际需求而定。
调试配置的时候要注意文件夹权限。
原创文章,作者:duiduifei,如若转载,请注明出处:http://www.178linux.com/19123