实验准备
$ yum groupinstall "Development Tools" |
安装vsftpd
$ yum install vsftpd |
编译PAM-MYSQL
准备
从PAM-MYSQL名字就能看出来需要依赖PAM和MYSQL$ yum install pam pam-devel
$ yum install mariadb mariadb-server openssl-devel mariadb-devel
编译PAM-MYSQL
没有rpm包只能自己编译
官网 http://pam-mysql.sourceforge.net/
$ wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz |
创建虚拟用户
MariaDB [(none)]> create database vsftpd; |
PAM数据库认证
新建/etc/pam.d/vsftpd.mysql
并添加如下内容auth required pam_mysql.so user=vsftpd passwd=vsftpd.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=vsftpd.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
任何一个虚拟用户都要映射为系统用户
添加映射帐号$ useradd -s /sbin/nologin -d /data/ftpmroot vsftpuser
$ chmod go+x /data/ftpmroot/
$ chmod -w /data/ftpmroot/
编辑/etc/vsftpd/vsftpd.conf
修改前:pam_service_name=vsftpd
修改后:pam_service_name=vsftpd.mysql
添加如下内容
guest_enable=YES
guest_username=vsftpuser
启动ftp服务$ systemctl start vsftpd
OK