环境: 两台服务器: 一台vsftpd服务器:192.168.6.129 一台数据库服务器:192.168.6.130 开始:
1.在192.168.6.130上安装Mariadb_server 数据库
yum install Mariadb-server -y2.进入数据库
[root@Centos7 ~]# mysql -uroot -p123456 2.1创建数据库 MariaDB [(none)]> create database vsftpd; 2.2创建数据表 MariaDB [vsftpd]> CREATE TABLE users ( -> id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -> name CHAR(50) BINARY NOT NULL, -> password CHAR(48) BINARY NOT NULL -> ); 2.3 创建对应的用户名以及授权192.168.6.%网段IP访问 #添加FTP用户 insert users (name,password) value('tom',password(123456)); #添加FTP用户 insert users (name,password) value('ftpuser2',password('magedu')); #创建授权用户 grant all on *.* to vsftpd@'192.168.6.%' identified by 'centos'; #刷新 flush privileges;3.在192.168.6.129vsftpd主机服务器上安装
[root@Centos7 ~]# yum install -y vsftpd编译安装pam_mysql-0.7RC1.tar.gz
[root@Centos7 pam_mysql-0.7RC1]# tar -xvf pam_mysql-0.7RC1.tar.gz安装对应的源码依赖包
[root@Centos7 data]# cd pam_mysql-0.7RC1/ [root@Centos7 pam_mysql-0.7RC1]# ./configure --with-pam-mods-dir=/lib64/security/ [root@Centos7 pam_mysql-0.7RC1]# make install安装完成之后会在/lib64/security/ 目录下生成如图所示,即表示成功 4.创建pam认证文件,允许192.168.6.130数据库服务器连接
[root@Centos7 pam.d]# vim vsftpd.mysql auth required pam_mysql.so user=vsftpd passwd=centos host=192.168.6.130 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required pam_mysql.so user=vsftpd passwd=centos host=192.168.6.130 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=25.创建FTP虚拟用户与共享目录,并修改 /etc/vsftpd/vsftpd.conf
创建虚拟用户 [root@Centos7 pam.d]# useradd -d /data/ftproot -s /sbin/nologin vuser 设置FTP目录权限 [root@Centos7 data]# chmod 555 /data/ftproot/ 创建ftproot/upload目录 [root@Centos7 ftproot]# mkdir upload设置上传目录权限
[root@Centos7 data]# setfacl -m u:vuser:rwx /data/ftproot/upload修改/etc/vsftpd/vsftpd.conf
[root@Centos7 data]# vim /etc/vsftpd/vsftpd.conf pam_service_name=vsftpd.mysql #修改此项 #添加以下三项 guest_enable=YES guest_username=vuser user_config_dir=/etc/vsftpd/vusers.d/ #独立用户配置目录连接成功和访问目录正常 注意问题: 参考:https://www.cnblogs.com/qiuhom-1874/p/12317903.html
参考网址:https://www.cnblogs.com/FengGeBlog/p/13032353.html