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

更多相关文章
一周排行
  • Android IOS WebRTC 音視頻開發總結(四一) QQ和webrtc打洞能力pk
    很多人知道webrtc打洞能力很强,到底有多强但是不知道,比较好的方法就是跟QQ对比,但大
  • cocos2dx 开发游戏时,有时某些节点不需要随着场景的切换而销毁.但cocos2dx的机制只允许同时只有一个运行的场景,如果你的所有节点都是依附于这个场景的,那场景的切换必然带来节点的销毁. 比如,我们有一个悬浮
  • 一.模块化设计 在上一节,我们直接 index.php 创建了 admin.php 文件.这样会自动生成两个目录, 分别为 Weibo 和 Admin,前者代表前台,后者代表后台.那么现在采用 ThinkPHP 模块
  •  原文链接   FF的FIREBUG,不仅能测试JS还能检查CSS错误,是一般常用的. 但它主要检查FF方面的错误,对IE就无能为力了. 要测试IE,就用ieTester,它可以测试IE几乎所有版本(1.0恐怕也用不 ...
  • 


    		    11月我國.BIZ域名注冊總量近4.7萬 居全球第7
    根据国外域名统计机构WebHosting.info数据,截至2013年11月25日,我国域
  • 


    		    企業信息化安全中的文檔保密解決方案之NTA
    NTA-文档保密的"硬"辦法 如何在多人协作的开发项目中保护机密资料的 ...
  • Android http://bbs.pediy.com/showthread.php?p=1282647#post1282647   [招聘]Android逆向工程师··感兴趣就来碗里哦 - 看雪安全论坛 基本要求
  • 句柄无效. (异常来自 HRESULT:0x80076 (E_HANDLE)) 错误消息:句柄无效. (异常来自 HRESULT:0x80076 (E_HANDLE))环境:IIS和VS选择同一个项目解决方法:IIS
  •      Razor二义性:        1,当view层中出现   邮件格式时候比如   [email protected] 这种情况Razor将会出现多义性        可以使用@@[email protected],  
  • 12.18 Daily Scrum
    最近大家确实都很忙,所以所有功能的实现要等到下周.   Today's Task Tomo