pam mysql auth where= and_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模块的加载vim /etc/pam.d/vsftpd

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

2.3 PAM模块的选项

配置例子:auth       optional     pam_mysql.so user=root passwd=password

account    required     pam_mysql.so user=root passwd=password

其他选项-- verbose 设置为1则显示详细的调试信息,默认0

-- debug 开启调试模式

-- user mysql数据库认证的用户名

-- passwd mysql数据库认证的密码

-- host mysql数据库的主机名称或IP

-- db 包含验证信息的数据库名称

-- table 包含验证信息的数据库表名称

-- update_table 包含密码更高的数据库表名称,不配置默认赋予table的值

-- usercolumn 包含验证的用户名列

-- passwdcolumn 包含验证的密码列

-- statcolumn 标记用户状态的列

--- 0表示用户已经过期;

--- 1表示要求用户更改密码

-- crypt 密码加密方式,

--- 0无加密,默认为此值;

--- 1使用crypt(3)函数加密;

--- 2使用MySQL的PASSWORD函数加密;

--- 3使用普通十六进制md5加密;

--- 4使用普通十六机制SHA1加密;

-- md5 使用md5进行crypt(3)哈希,当crypt设置为“Y”才有效,默认false

-- use_323_passwd 使用MySQL版本3风格的加密功能(兼容迁移),默认false

-- where 查询的附加条件如 [where=Host.name="web" AND User.active=1]

-- sqllog 设置为“true”或“yes”,则启用SQL日志记录,默认false

-- logtable 存储日志的表名称

-- logmsgcoumn 该列存储日志的消息

-- logusercolumn 该列存储产生日志的用户名

-- logpidcolumn 该列存储产生日志的进程PID

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

3 实践部分

3.1 环境配置

3.1.1 安装配置工具yum install -y wget vim

3.1.2 安装编译工具包(可选,编译安装才需要)yum install -y gcc gcc-c++ make expat-devel

3.1.3 MySQL安装

1)配置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值