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
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
10、下載安裝支持mysql認證的PAM模塊http://sourceforge.net/projects/pam-mysql/files/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz/download
[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、關閉系統防火牆;否則會登陸驗證失敗!