基于MySql验证的vsftpd虚拟用户
程序员文章站
2022-03-13 10:22:17
目录1. mysql安装1.2 建表建库建用户1.3 创建远程连接账户2. 安装ftp服务器2.1 安装vsftpd2.2 安装pam_mysql2.2 建立pam认证所需文件2.3 建立vsftpd...
1. mysql安装
yum -y install mariadb-server systemctl enable --now mariadb.service
1.2 建表建库建用户
mysql -e "create database vsftpd;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); insert into users(name,password) values('qiu',password('123456')); insert into users(name,password) values('zhang',password('654321'));" mysql -e "select * from vsftpd.users;"
1.3 创建远程连接账户
mysql -e "create user vsftpd@'192.168.31.%' identified by 'pana#123';" mysql -e "grant all on vsftpd.* to vsftpd@'192.168.31.%';"
2. 安装ftp服务器
2.1 安装vsftpd
yum install -y vsftpd
2.2 安装pam_mysql
yum -y install vsftpd gcc gcc-c++ make mariadb-devel pam-devel wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7rc1.tar.gz tar xf pam_mysql-0.7rc1.tar.gz cd pam_mysql-0.7rc1/ ./configure --with-pam-mods-dir=/lib64/security make install
2.2 建立pam认证所需文件
cat > /etc/pam.d/vsftpd.mysql<<eof auth required pam_mysql.so user=vsftpd passwd=pana#123 host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required pam_mysql.so user=vsftpd passwd=pana#123 host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 eof
注意:以上参考 readme文档
crypt 加密方式:
0表示不加密
1表示crypt(3)加密
2表示使用mysql password()函数加密
3表示md5加密
4表示sha1加密
2.3 建立vsftpd用户
mkdir -pv /data/ftproot/upload useradd -d /data/ftproot -s /sbin/nologin -r vuser setfacl -m u:vuser:rwx /data/ftproot/upload
2.4 修改vsftpd配置文件
mkdir /etc/vsftpd/conf.d/ sed -eri "s#(pam_service_name=vsftpd)#\1.mysql#" /etc/vsftpd/vsftpd.conf echo "guest_enable=yes" >> /etc/vsftpd/vsftpd.conf echo "guest_username=vuser" >> /etc/vsftpd/vsftpd.conf
2.5 重启vsftpd服务
systemctl enable --now vsftpd
到此这篇关于基于mysql验证的vsftpd虚拟用户的文章就介绍到这了,更多相关mysql vsftpd虚拟用户内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
基于Ajax用户名验证、服务条款加载、验证码生成的实现方法
-
基于Ajax用户名验证、服务条款加载、验证码生成的实现方法
-
vsftpd配置虚拟用户登录的方法
-
基于jQuery实现的Ajax 验证用户名唯一性实例代码
-
建立基于虚拟用户的VSftpd服务
-
httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例
-
centos 6 安装vsftpd与PAM虚拟用户的方法
-
ubuntu 使用 vsftpd 基于系统用户配置相互隔离的 ftp (ftps) 服务并禁止账户 ssh shell 登陆功能
-
PureFTPd+Mysql+PHP_Manager实现虚拟用户磁盘限额的配置方法
-
PHP+Mysql服装商城 网上服装购物商城 基于PHP服装商城的系统设计与实现(3)用户注册