基于MySql验证的vsftpd虚拟用户

 更新时间:2021年11月02日 16:05:43   作者:上海_运维_Q先生  
这篇文章主要介绍了基于MySql验证的vsftpd虚拟用户,文章包括mysql安装及ftp服务器安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

相关文章

  • Mysql错误Every derived table must have its own alias解决方法

    Mysql错误Every derived table must have its own alias解决方法

    这篇文章主要介绍了Mysql错误Every derived table must have its own alias解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • mybatis分页插件pageHelper详解及简单实例

    mybatis分页插件pageHelper详解及简单实例

    这篇文章主要介绍了mybatis分页插件pageHelper详解及简单实例的相关资料,需要的朋友可以参考下
    2017-05-05
  • MySQL的driverClassName与url使用方式

    MySQL的driverClassName与url使用方式

    这篇文章主要介绍了MySQL的driverClassName与url使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Mysql联合索引的原理与实现

    Mysql联合索引的原理与实现

    联合索引是一种将多个列组合成一个索引的技术,以提高基于这些列进行查询的性能,本文主要介绍了Mysql联合索引的原理与实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • MySQL数据库定时任务举例讲解

    MySQL数据库定时任务举例讲解

    最近项目里面的后台需要用到定时任务,而MySQL从5.0开始自带了定时事件操作,所以学习下并做下记录,下面这篇文章主要给大家介绍了关于MySQL数据库定时任务的相关资料,需要的朋友可以参考下
    2023-06-06
  • mysql timestamp比较查询遇到的坑及解决

    mysql timestamp比较查询遇到的坑及解决

    这篇文章主要介绍了mysql timestamp比较查询遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 关于MySQL的sql_mode合理设置详解

    关于MySQL的sql_mode合理设置详解

    这篇文章主要给大家介绍了关于MySQL的sql_mode合理设置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • MySQL借助DB实现分布式锁思路详解

    MySQL借助DB实现分布式锁思路详解

    这篇文章主要给大家介绍了关于MySQL借助DB实现分布式锁思路的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • DOS命令行窗口mysql中文显示乱码问题解决方法

    DOS命令行窗口mysql中文显示乱码问题解决方法

    MySQL的默认编码是Latin1,不支持中文,如何修改MySQL的默认编码呢,下面为大家详细介绍下
    2014-05-05
  • mysql SELECT FOR UPDATE语句使用示例

    mysql SELECT FOR UPDATE语句使用示例

    本文介绍在mysql中使用mysql SELECT FOR UPDATE 语句时的一些问题与解决办法
    2013-11-11

最新评论