基于MySql验证的vsftpd虚拟用户


Posted in MySQL onNovember 07, 2021

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;"

基于MySql验证的vsftpd虚拟用户

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虚拟用户内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL时间设置注意事项的深入总结
May 06 MySQL
Mysql Online DDL的使用详解
May 20 MySQL
MySQL连接查询你真的学会了吗?
Jun 02 MySQL
Navicat连接MySQL错误描述分析
Jun 02 MySQL
MySQL8.0无法启动3534的解决方法
Jun 03 MySQL
MySQL系列之四 SQL语法
Jul 02 MySQL
SQL实现LeetCode(197.上升温度)
Aug 07 MySQL
MySQL分库分表详情
Sep 25 MySQL
以MySQL5.7为例了解一下执行计划
Apr 13 MySQL
深入理解MySQL中MVCC与BufferPool缓存机制
May 25 MySQL
一文解答什么是MySQL的回表
Aug 05 MySQL
MySQL 原理与优化之Limit 查询优化
Aug 14 MySQL
MySQL悲观锁与乐观锁的实现方案
SpringBoot连接MySQL获取数据写后端接口的操作方法
Mysql排序的特性详情
Nov 01 #MySQL
MySQL分区表实现按月份归类
Nov 01 #MySQL
MySQL数据库10秒内插入百万条数据的实现
MySQL面试题讲解之如何设置Hash索引
MySQL对数据表已有表进行分区表的实现
Nov 01 #MySQL
You might like
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
js 通用订单代码
2013/12/23 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
2019/01/29 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python动态加载模块的3种方法
2014/11/22 Python
python实现多人聊天室
2020/03/31 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
激励员工的口号
2014/06/16 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python