Linux 学习(十八)

1、实现基于MYSQL验证的vsftpd虚拟用户访问

两台服务器:一台ftp服务器192.168.5.11 一台mariadb服务器192.168.5.12

(1)mariadb服务器

yum install -y mariadb-server
Linux 学习(十八)

systemctl start mariadb
mysql

Linux 学习(十八)

create database vsftpd ;
Linux 学习(十八)

use vsftpd ;
CREATE TABLE users (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name CHAR(50) BINARY NOT NULL,
password CHAR(48) BINARY NOT NULL) ;

Linux 学习(十八)

insert into users (name,password) value(‘ftpuser1‘,password(‘123456‘)) ;
insert into users (name,password) value(‘ftpuser2‘,password(‘123456‘));
grant select on vsftpd.* to vsftpd@‘192.168.5.%‘ identified by ‘123456‘;

Linux 学习(十八)

(2)ftp服务器,安装ftp,编译按章pam_mysql
yum install -y vsftpd

Linux 学习(十八)

tar -xf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1/

Linux 学习(十八)

yum install -y gcc gcc-c++ pam-devel mariadb-devel
Linux 学习(十八)

./configure --with-pam-mods-dir=/lib64/security/Linux 学习(十八)

make && make installLinux 学习(十八)

(3)创建pam认证文件
vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=123456 host=192.168.5.12 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=123456 host=192.168.5.12 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

Linux 学习(十八)

(4)创建FTP虚拟用户与共享目录,并修改 /etc/vsftpd/vsftpd.conf

useradd -d /data/ftproot -s /sbin/nologin vuser
Linux 学习(十八)

chmod 555 /data/ftproot
Linux 学习(十八)


mkdir /data/ftproot/upload
setfacl -m u:vuser:rwx /data/ftproot/upload

Linux 学习(十八)

vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.mysql    #修改此项
#添加以下三项
guest_enable=YES
guest_username=vuser
user_config_dir=/etc/vsftpd/vusers.d/    #独立用户配置目录

Linux 学习(十八)

(5)启动FTP服务,用数据库中的用户测试
systemctl start vsftpd
ftp 192.168.5。11
ftpuser1
123456

Linux 学习(十八)

Linux 学习(十八)

上一篇:vim修改tab的缩进长度


下一篇:ubuntu18.04配置CUDA10.0及cudnn说明