- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用pam_mysql做vsftp身份认证_v4
用pam_mysql 做vsftp 身份认证
声明
author: Fang Yunlin
MSN: cst05001@
GTalk: cst05001@
E-mail: cst05001@
Site: /
本人实验文档,非权威指南,仅供参考。
提倡良好的学术氛围,转载请注明原出处。
5 Dec, 2009
第4 次修改
环境
OS: Red Hat Enterprise Linux 5 update 3
Network: 01 / 24
步骤
首先要说下,pam_mysql 在fedora 上直接yum 下来就可以了。
但是目前还没有加入RHEL5.3 ,需要自行编译。
这里是官方网站。
/
准备编译环境并编译pam_mysql.so
wget /pam-mysql/pam_mysql-0.7RC1.tar.gz
yum install mysql-devel pam-devel gcc gcc-c++
tar zxvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
ln -s /usr/include/openssl/md5.h /usr/include/
如果不做这个软链接,则configure 的时候找不到md5.h 头文件。
./configure –with-openssl
如果不加—with-openssl 参数,则不能正常支持md5 密码校验方式。
编译完的pam_mysql.so 放在 /usr/lib/security 下。
ln -s /usr/lib/security/pam_mysql.so /lib/security/
/lib/security 才是pam 的默认路径。
创建数据库信息
[root@localhost pam_mysql-0.7RC1]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45 Source distribution
Type help; or \h for help. Type \c to clear the buffer.
mysql CREATE DATABASE vsftp;
Query OK, 1 row affected (0.00 sec)
mysql GRANT ALL PRIVILEGES ON vsftp.* TO vsftp@% IDENTIFIED BY redhat;
Query OK, 0 rows affected (0.00 sec)
mysql use vsftp;
Database changed
mysql CREATE TABLE account (
- `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- `user` VARCHAR(128) NOT NULL UNIQUE,
- `passwd` VARCHAR(128) NOT NULL
- );
Query OK, 0 rows affected (0.02 sec)
上面命令创建帐号表。
mysql CREATE TABLE log (
- `msg` VARCHAR(128),
- `user` VARCHAR(128),
- `pid` INT,
- `host` VARCHAR(128),
- `rhost` VARCHAR(128),
- `time` TIMESTAMP
- );
Query OK, 0 rows affected (0.00 sec)
上面命令创建记录表,记录用户访问记录。
mysql CREATE TRIGGER trigger_format_passwd
- BEFORE INSERT
- ON account
- FOR EACH ROW
- SET NEW.passwd = md5(NEW.passwd);
Query OK, 0 rows affected (0.00 sec)
mysql CREATE TRIGGER trigger_format_passwd_update
- BEFORE UPDATE
- ON account
文档评论(0)