标签:vftp
在centos7系统上实现搭建vsftp服务,基于pam_mysql的虚拟用户机制:
编译安装pam_mysql
准备环境:
]# yum -y groupinstall "Development Tools" "server Platform Development"
]# yum -y install pam-devel openssl-devel mariadb-devel mariadb-server
]# yum -y install vsftpd
解压pam_mysql-0.7RC1.tar.gz源码包
]# cd pam_mysql-0.7RC1/
]# ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
]# make && make install
启动服务
]# systemctl start mariadb.service
]# systemctl start vsftpd.service
登录mysql数据库,创建库、表、用户并授权
]# mysql
> CREATE DATABASE vsftpd;
> use vsftpd;
> CREATE TABLE users (
id int AUTO_INCREMENT NOT NULL PRIMARY KEY,
name char(30) NOT NULL,
password char(48) binary NOT NULL );
> INSERT INTO users(name,password) VALUES (‘tom‘,password(‘mageedu‘));
> INSERT INTO users(name,password) VALUES (‘jerry‘,password(‘mageedu‘));
> GRANT ALL ON vsftpd.* TO vsftpd@localhost IDENTIFIED BY ‘mageedu‘;
> GRANT ALL ON vsftpd.* TO vsftpd@‘127.0.0.1‘ IDENTIFIED BY ‘mageedu‘;
> FLUSH PRIVILEGES;
测试用户是否能登录mysql
]# mysql -uvsftpd -pmageeud
> exit
数据库配置完毕。
配置vsftpd,通过pam-mysql模块链接mysql服务器,来检索出用户和密码:
]# vim /etc/pam.d/vsftpd.mysql
创建一个系统用户,为虚拟用户映射使用的用户及授权
]# useradd -s /sbin/nologin -d /ftproot vusre
]# chmod go+rx /ftproot/
配置vsftpd,确保匿名用户有哪些权限,可根据需要开启或禁用相关权限
]# vim /etc/vsftpd/vsftpd.conf
]# mkdir /ftproot/{pub,upload}
重启服务
]# systemctl restart vsftpd.service
标签:vftp
原文地址:http://linsj.blog.51cto.com/5440766/1768047