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、建立用於虛擬用戶的數據庫、表,並創建虛擬用戶zzpvfast
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 ftpuser@localhost 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
 
[root@router ]tar xvzf pam_mysql-0.7RC1.tar.gz -C /usr/src

[root@router ]cd /usr/src/pam_mysql-0.7RC1/

[root@…… ]./configure

[root@…… ]make
[root@…… ]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、客戶端測試
 
備註:該實驗應關閉selinux、關閉系統防火牆;否則會登陸驗證失敗!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章