vsftp mysql yum_vsftp通过pam集成mysql身份验证

1 前言

需要解决由FTP上传的文件自动以某个应用程序的身份保存的唯一方式是使用VSFTP的虚拟用户,由于笔者对MySQL比较熟悉,所以利用PAM_MySQL模块将VSFTP与MySQL集成。另外,本文不但整理了CentOS6与CentOS7的安装配置方法,而且同时涵盖了RPM包与编译两种安装方法。

2 理论基础

2.1 PAM模块的介绍

所谓虚拟用户,即通过pam模块将vsftp与数据库集成,将vsftp的传统身份验证方式变成通过数据库中保存的帐号密码验证,用户的身份并非系统用户,而需由pam模块虚拟出来的用户,故称虚拟用户。

2.2 PAM模块的加载

注:通过编辑pam.d目录下的规则实现加载

2.3 PAM模块的选项

配置例子:

其他选项

注:以上是本人对原文的理解翻译(详细请参阅源码包的README文件),如果有误欢迎指正。

3 实践部分

3.1 环境配置

3.1.1 安装配置工具

3.1.2 安装编译工具包(可选,编译安装才需要)

3.1.3 MySQL安装

1)配置MySQL的源

输入如下内容:

2)安装数据库相关包

3.1.4 安装相关包

3.1.5 下载pam模块(可选,编译安装才需要)

3.1.6 开启防火墙端口

In CentOS 6:

加入如下行:

重启防火墙服务:

In CentOS 7:

3.1.7 关闭selinux

3.2 安装pam模块

3.2.1 yum方式安装

In CentOS 6:

注:下载页面,

In CentOS 7:

注:下载页面,

3.2.2 编译安装方式(可选,编译安装才需要)

1)解压安装包

2)编译并安装

如果提示错误以下错误:

可增加参数解决:

3.3 配置数据库

3.3.1 启动服务并配置自动启动

In CentOS 6:

In CentOS 7:

3.3.2 初始化数据库

向导如下:

3.3.3 创建验证数据库

3.3.4 创建验证数据表

3.3.5 添加测试数据

查询数据库中的账号:

3.3.6 配置验证账号

3.3.7 测试验证账号

3.4 配置vsftp

3.4.1 备份配置文件

输入如下配置:

重要代码解析:

3.4.2 配置pam

确认pam_mysql.so的位置:

假设显示如下:

加载认证模块:

修改配置如下:

注:请根据pam_mysql.so实际路径写,不同的安装方法位置会有所不同。

3.4.3 创建用户配置文件目录

3.4.4 配置映射用户目录权限

查询映射用户的家目录

显示如下:

修改映射用户的属主

3.4.5 重启服务

In CentOS 6:

In CentOS 7:

3.5 测试并调试

3.5.1 监视日志

注:如果登陆成功secure中没有任何日志,但vsftpd.log中会有登陆成功的提示,这时候无论是否能正常使用都表示PAM_MySQL模块已经配置好,请检查VSFTP的配置。

3.5.2 尝试登陆

注:如果登陆不成功请根据监视日志的提示信息排错。

4 用户管理工具的使用

4.1 工具的下载

http://down.51cto.com/data/2298015

注:该工具是笔者自己写的,请按照自己的需求确定是否使用。

4.2 安装配置

4.2.1 部署工具

4.2.2 工具的常量定义

修改以下常量:

4.3 工具的使用

4.3.1 获取帮助

显示如下:

4.3.2 增加用户

4.3.3 打印用户

4.3.4 删除用户

4.3.5 重命名用户

4.3.6 更改用户密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值