pam mysql 下载_搭建FTP+PAM+MySQL环境

[root@vhost3 ~]# uname -a

Linux vhost3 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

2 yum安装安装MySQL、vsftpd,需要的依赖包,大多是系统自带的,即使最小化安装也会有

yum install -y vsftpd mysql-server mysql-devel mysql-libs

3 安装pam

# 安装依赖包

yum install -y pam-devel fprintd-pam pam_passwdqc pam

# 编译安装pam,适用于yum安装的MySQL

[root@localhost]#wget http://www.huzs.net/soft/vsftpd/pam_mysql-0.7RC1.tar.gz

[root@localhost]#tar xvf pam_mysql-0.7RC1.tar.gz

[root@localhost]#cd pam_mysql-0.7RC1

[root@localhost]# ./configure --with-openssl --with-pam-mods-dir=/lib/security/

[root@localhost]# make && make install

# 安装完成后,会生成如下两个文件

/lib/security/pam_mysql.la /lib/security/pam_mysql.so

4 修改vsftpd配置文件(参考)

48304ba5e6f9fe08f3fa1abda7d326ab.png

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=kdui_ftp # pam认证的配置文件

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES # 启用虚拟用户

guest_username=kdui_ftp # 虚拟用户的权限是寄宿在操作系统的kdui_ftp这个用户上的,这个用户必须真实存在

local_root=/home/dms/kdui/dmsdata/userBase/$USER #指定用户登录的家目录,$USER是内置变量,表示用户名

user_sub_token=$USER

virtual_use_local_privs=YES

xferlog_file=/var/log/xferlog

dual_log_enable=YES

vsftpd_log_file=/var/log/vsftpd

user_config_dir=/etc/vsftpd/user_config #每个虚拟用户的独立配置文件目录,配置文件和用户同名

48304ba5e6f9fe08f3fa1abda7d326ab.png

5 根据vsftpd配置文件配置系统环境

# 创建宿主账号的家目录

[root@localhost]#mkdir -p /home/dms/kdui/dmsdata/

# 创建虚拟用户宿主账号

[root@localhost]# useradd -s /sbin/nologin -d /home/dms/kdui/dmsdata/userBase/ kdui_ftp

# 创建虚拟用户配置文件目录,(按上述配置文件可以不创建)

[root@localhost]# mkdir -p /etc/vsftpd/user_config

6 修改pam认证文件

48304ba5e6f9fe08f3fa1abda7d326ab.png

[root@localhost]# vim /etc/pam.d/kdui_ftp

#%PAM-1.0

session optional pam_keyinit.so force revoke

auth required /lib/security/pam_mysql.so user=ftp passwd=123456 host=localhost db=ftp table=ftpuser usercolumn=username passwdcolumn=password crypt=0

account required /lib/security/pam_mysql.so user=ftp passwd=123456 host=localhost db=ftp table=ftpuser usercolumn=username passwdcolumn=password crypt=0

# 调用的模块 数据库用户名 密码 IP 库名 表名 哪个字段作为用户名 哪个字段作为密码

# crypt表示密码是否加密以及加密方式,0表示明文,1表示使用UNIX的DES加密,2表示使用MySQL的password()函数,3表示口令使用MD5加密

48304ba5e6f9fe08f3fa1abda7d326ab.png

7 配置MySQL数据库

# 启动数据库

[root@localhost]# /etc/init.d/mysqld start

# 连接数据库

[root@localhost]# mysql -uroot

# 建库

mysql> CREATE DATABASE IF NOT EXISTS `ftp` ;

mysql> use ftp;

# 建表

48304ba5e6f9fe08f3fa1abda7d326ab.png

mysql> CREATE TABLE IF NOT EXISTS `ftpuser` (

`id` int(6) NOT NULL AUTO_INCREMENT,

`username` varchar(20) NOT NULL,

`password` varchar(20) NOT NULL,

`status` int(1) NOT NULL DEFAULT '1',

`level` int(1) NOT NULL DEFAULT '1',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

48304ba5e6f9fe08f3fa1abda7d326ab.png

# 插入两条数据即ftp虚拟用户

mysql> INSERT INTO `ftpuser` (`username`, `password`) VALUES ( 'aaa', '123');

mysql> INSERT INTO `ftpuser` (`username`, `password`) VALUES ( 'bbb', '456');

# 授权pam验证用的mysql账号

mysql> grant select on ftp.ftpuser to ftp@localhost identified by '123456';

mysql> FLUSH PRIVILEGES;

mysql> quit;

8 启动ftp

[root@loaclhost]#/etc/init.d/vsftpd start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值