vsftp+pam+mysql
vsftpd是目前在linux系統環境下表現最為優越的安全,穩定,快速的性能,加上vsftpd的可讀性強、易配置,受到更為廣泛的應用。vsftpd有三種實作的形式,分别為:
1、匿名使用者形式:在預設安裝的情況下,系統隻提供匿名使用者通路;
2.本地使用者形式:以/etc/passwd中的使用者名為認證方式;
3、虛拟使用者形式:支援将使用者名和密碼儲存在資料庫檔案或資料庫伺服器中。
這次運用第三種虛拟使用者形式在資料庫中儲存vsftp的登陸的賬号和密碼。用pam驗證登陸
1.安裝pam_mysql-0.7RC1.tar.gz
# tar xfpam_mysql-0.7RC1.tar.gz
# cd pam_mysql-0.7RC1
# ./configure--with-openssl
# make && makeinstall #如果報錯,安裝mysql-devel
# ls /usr/lib/security/
classpath.securitypam_mysql.la pam_mysql.so
# ln -s/usr/lib/security/pam_mysql.so /lib/security/pam_mysql.so
2.建立一個必要的本地使用者雖說是虛拟使用者,不過,由于虛拟使用者的資訊存儲在MySQL資料庫中,是以還是需要一個能夠讀取MySQL資料庫的本地使用者.
# useradd -s/sbin/nologin virtual
# mysql -u root -p
Enter password:
mysql> CREATE DATABASEvsftpd;
Query OK, 1 row affected(0.02 sec)
mysql> USE vsftpd;
Database changed
3.建立用于存儲虛拟使用者資訊的表users
mysql> CREATE TABLEusers (username varchar(20) NOT NULL,password varchar(40) NOT NULL,PRIMARY KEY(username)) TYPE=MyISAM;
Query OK, 0 rows affected,1 warning (0.01 sec)
4.讓本地使用者virtual能讀取vsftpd資料庫的users表的内容
mysql> grant selecton vsftpd.users to virtual@localhost identified by '123456';
Query OK, 0 rowsaffected (0.00 sec)
mysql> flushprivileges;
5.建立虛拟使用者
mysql> insert intousers values ('vu1','123');
Query OK, 1 row affected(0.00 sec)
mysql> insert intousers values ('vu2','123');
mysql> insert intousers values ('vu3','123');
mysql> quit
Bye
6.配置vsftpd的PAM驗證
# vim/etc/pam.d/vsftpd_mysql
auth requiredpam_mysql.so user=virtual passwd=123456 host=localhost db=vsftpd table=usersusercolumn=username passwdcolumn=password crypt=0
account requiredpam_mysql.so user=virtual passwd=123456 host=localhost db=vsftpd table=usersusercolumn=username passwdcolumn=password crypt=0
7.配置ftp,/etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd_mysql#pam_service_name=vsftpd_mysql 要與/etc/pam.d/配置檔案的檔案名相同
guest_enable=YES #guest_enable=YES 開啟虛拟使用者功能
guest_username=virtual #guest_username=virtual 指定虛拟使用者使用的系統使用者
virtual_use_local_privs=YES #virtual_use_local_privs 為虛拟使用者設定不同權限設定為 YES 時,虛拟使用者使用與本地用相同權限設定為 NO 時,虛拟使用者使用與匿名使用者相同權限
<a href="http://s3.51cto.com/wyfs02/M00/23/3F/wKioL1M1Ts3jMbGZAAC8GblGFYU164.jpg" target="_blank"></a>
本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1386205,如需轉載請自行聯系原作者