欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RH EL5 VSFTPD 虚拟帐户(MySQL)

程序员文章站 2024-01-16 12:46:22
...

平台:红帽RHEL5 + VSFTPD + MySQL一、安装MySQLmysql-5.1.7-beta-linux-i686-glibc23.tar.gz# tar zxvf mysql-5.1.7-beta-linux

平台:红帽RHEL5 + VSFTPD + MySQL

一、安装MySQL

mysql-5.1.7-beta-linux-i686-glibc23.tar.gz
# tar zxvf mysql-5.1.7-beta-linux-i686-glibc23.tar.gz
# ln -s mysql-5.1.7-beta-linux-i686-glibc23 /usr/local/mysql
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# bin/mysqld_safe &
# bin/mysql
mysql >

二、安装 pam_mysql.so

pam_mysql-0.7RC1.tar.gz //下载地址:chinaunix
# tar zxvf pam_mysql-0.7RC1.tar.gz
# cd pam_mysql-0.7RC1
# ./configure --with-mysql=/usr/local/mysql
# make clean install
# cp /usr/lib/security/pam_mysql.so /lib/security/

三、安装 vsftpd

通过rpm安装EL5自带的vsftpd rpm 包就可以。

四、建立虚拟用户

# useradd -d /home/vftp -s /bin/nologin vftp -m

五、建立认证

利用mysql建立用户
就是把用户名和密码放在mysql库里,实现起来也相当简单
(1)建立一个库并设置相应权限
# mysql –p
mysql>create database ftpd;
mysql>use ftpd;
mysql>create table user(name char(20) binary,passwd char(20) binary);
mysql>insert into user (name,passwd) values ('mike','123');
mysql>insert into user (name,passwd) values ('tom','123');
mysql>grant select,,insert on ftpd.user to vftp@localhost identified by '123';
mysql>flush privileges; 刷新权限设置
mysql>quit
(2)建立PAM认证信息
# vi /etc/pam.d/vftp ,内容如下
auth required /lib/security/pam_mysql.so user=vftp passwd=123 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=vftp passwd=123 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
注意:
crypt= n
crypt=0: 明文密码
crypt=1: 使用crpyt()函数(对应SQL数据里的encrypt(),encrypt()随机产生salt)
crypt=2: 使用MYSQL中的password()函数加密
crypt=3:表示使用md5的散列方式

六、修改ftp配置文件

vi /etc/vsftpd/vsftpd.conf
pam_service_name=vftp
guest_enable=YES
guest_username=vftp

七、验证

以mike 和 tom的身份登陆ftp

RH EL5 VSFTPD 虚拟帐户(MySQL)