vsftp服务器mysql认证_Vsftp服务器搭建--虚拟用户使用MySQL 认证

1、使用yum 方式安装MySQL

#yum -y install mysql mysql-servermysql-devel

2、启动 MySQL 服务并修改MySQL 管理员密码

#service mysqldstart

#mysql_secure_installation// 设置一下root管理员密码

3、创建MySQL为vsftpd验证的数据库与表

[root@vsftpd ~]# mysql -u root –p

Enter password:    //此处输入vsftpd为刚刚为MySQL设置的管理员密码

mysql> create database vsftpd;  //创建一个vsftpd的数据库

Query OK, 1 rowaffected (0.00 sec)

mysql> use vsftpd;    //使用vsftpd数据库

mysql> create table users (

>id INT NOT NULL AUTO_INCREMENT PRIMARYKEY,

>name CHAR(15) NOT NULL UNIQUE KEY,

>passwordCHAR(48) NOT NULL );  //创建一个3个列位的users表,一个id用于索引,name用于账户名,password用户设置密码

mysql> insert into users(name,password) values ('Oracle',password('oracle'));  //添加一个oracle账户,密码为oracle,并加密存储密码,此账户是为了等下登录FTP服务器用

4、创建一个vsftpd的MySQL账户用于检索vsftpd数据库

mysql> grant select on vsftpd.* to vsftpd@localhostidentified by 'vsftpd';    //创建一个只有select vsftpd数据库下所有表的权限的MySQL账户并将密码设为vsftpd

mysql> flush privileges;  //只为使权限即时生效

二.安装并配置PAM模块

1、安装依赖库

[root@vsftpd ~]# yum -y install gccgcc-c++ make pam pam-devel openssl openssl-devel

2、下载并安装pam_mysql

[root@vsftpd ~]# wget http://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz

[root@vsftpd ~]# tar zxvf pam_mysql-0.7RC1.tar.gz

[root@vsftpd ~]# cd pam_mysql-0.7RC1

[root@vsftpdpam_mysql-0.7RC1]# ./configure --with-openssl

[root@vsftpdpam_mysql-0.7RC1]# make

[root@vsftpd pam_mysql-0.7RC1]# make install

pam文件默认安装到/lib 目录下,若系统为64位系统,需要将文件复制一份到/lib64 目录下

[root@vsftpd ~]# cp /lib/security/pam_mysql.*/lib64/security/

3、创建认证文件

[root@vsftpd ~]# vim /etc/pam.d/vsftpd.mysql

auth required /lib64/security/pam_mysql.souser=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=namepasswdcolumn=password crypt=2

account required/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpdtable=users usercolumn=name passwdcolumn=password crypt=2

注意:这里是2行,不可以换行.另外还要注意里面相应栏位的填写。

特别说明下crypt选项

crypt=0:明文密码

crypt=1:使用 crpyt()函数(对应 SQL 数据里的 encrypt(),encrypt()随机产生 salt)

crypt=2:使用 MYSQL 中的 password()函数加密

crypt=3:表示使用 md5 的散列方式

user 、passwd 用户名密码当然你也可以随便设置,不过需要在mysql 里面赋予查询权限。

推荐阅读:

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值