Rhel5.6下通過Mysql數據庫實現虛擬用戶登陸Vsftp伺服器

1、安装vsftpd并设置开机自动启动
yum -y install vsftpd
chkconfig vsftpd on
2、安装mysql数据库
yum -y install mysql-devel mysql-server
3、启动mysql服务并设置开机自动启动
service mysqld start
chkconfig mysqld on
4、设置mysql的管理员密码
mysqladmin -u root password 123456
5、建立用于虚拟用户的数据库、表,并创建虚拟用户zzp和vfast
mysql -u root -p123456
mysql>create database vftp ;
mysql>use vftp ;
mysql>create table userinfo(name char(16),pwd char(16)) ;
mysql>insert into userinfo(name,pwd) values('zzp','123456') ;
mysql>insert into userinfo(name,pwd) values('vfast','123456') ;
mysql> grant select on vftp.userinfo to [email protected] identified by '123456' ; //基于安全考虑创建一个专门用于读取数据库中虚拟用户信息的用户(ftpuser)
mysql> flush privileges ;
6、测试ftpuser是否可以正常查询数据库信息
mysql -u ftpuser -p123456
mysql>use vftp ;
mysql>select * from userinfo ;
7、创建本地映射用户,并修改其家目录的权限
useradd -d /var/ftp/guest -s /sbin/nologin guest
注: -d 指定家目录的位置
-s 指定用户登录的shell,如果为用户分配的shell是/sbin/nologin,则该用户是不能登录到系统的。
chmod o+rw /var/ftp/guest
8、编辑/etc/vsftpd/vsftpd.conf,添加以下两句,用于启用虚拟账号,并禁用匿名账号
guest_enable=yes
guest_username=guest
anonymous_enable=no
9、安装yum -y install pam-devel
10、下载安装支持mysql认证的PAM模块http://sourceforge.net/projects/pam-mysql/files/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz/download
[[email protected] ]tar xvzf pam_mysql-0.7RC1.tar.gz -C /usr/src
[[email protected] ]cd /usr/src/pam_mysql-0.7RC1/
[[email protected] ]./configure
[[email protected] ]make
[[email protected] ]makinstall
ls /usr/lib/security
安装完成后查看/usr/lib/security中是否存在pam_mysql.la pam_mysql.so这两个文件,若果有则表示安装成功!
11.编辑pam认证文件/etc/pam.d/vsftpd,将原有的内容全部注释掉并添加以下两行内容以使用mysql认证
auth required /usr/lib/security/pam_mysql.so user=ftpuser passwd=xiaofeixia host=localhost db=vftp table=userinfo usercolumn=name passwdcolumn=pwd crypt=0
account required /usr/lib/security/pam_mysql.so user=ftpuser passwd=xiaofeixia host=localhost db=vftp table=userinfo usercolumn=name passwdcolumn=pwd crypt=0
12、重新启动ftp服务器
service vsftpd restart
13、客户端测试



    		    Rhel5.6下通過Mysql數據庫實現虛擬用戶登陸Vsftp伺服器
备注:该实验应关闭selinux、关闭系统防火墙;否则会登陆验证失敗!

本文出自 “云飞扬” 博客,请务必保留此出处http://zongpeng.blog.51cto.com/2610685/1100402

更多相关文章
一周排行
  • # wget -r -p -np -k http://xxx.edu.cn -r 表示递归下载,会下载所有的链接,不过要注意的是,不要单独使用这个参数,因为如果你要下载的网站也有别的网站的链接,wget也会把别的网站 ...
  • set global sql_slave_skip_counter = n 跳过主服务器中的接下来的 n 个事件.此命令对于由语句引起的复制终止有效. 此语句仅在从服务器线程没运行的时候有效.否则,它将产生一个错误.
  • http://www.trentrichardson.com/jsonsql/ 可以对json数组用sql语法进行操作,主要是查询取指定字段.条件.指定字段排序及获取多少条数据,返回值json.   jsonsql.
  • Fourinone2.0里通过FttpAdapter和FileAdapter实现文件io的支持.其中,FttpAdapter提供对远程文件的操作,FileAdapter提供对本地文件的操作,两者api和使用相似,这里
  • 1.display:none和visibility:hidden的区别? display:none 隐藏对应的元素,在文档布局中不再给他分配空间,他各边 的元素会合拢,就当他从来不存在. visibility:hid
  • SharePoint中弹出模态窗口对体验提高太大了 方法为: 父页面中调用子页面:  function showDialog() {        var options = {                url
  • 定义和用法 set_exception_handler() 函数设置用户自定义的异常处理函数. 该函数用于创建运行时期间的用户自己的异常处理方法. 该函数会返回旧的异常处理程序,若失敗,则返回 null. 语法 se ...
  • http://www.linuxidc.com/Linux/9/28364.htm Linux下malloc函数主要用来在用户空间从heap申请内存,申请成功返回指向所分配内存的指针,申请失敗返回NULL ...
  • 


    		    Windows Phone 7 MVVM模式通訊方式之實現Attached Behavior
    MVVM模式的View与ViewModel的三大通讯方式:Binding Data(实现数
  • [[email protected] ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-.noarch.rpm Ret ...