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;
Query OK, 0 rowsaffected (0.00 sec)
5.建立虛擬用戶
mysql> insert intousers values ('vu1','123');
Query OK, 1 row affected(0.00 sec)
mysql> insert intousers values ('vu2','123');
Query OK, 1 row affected(0.00 sec)
mysql> insert intousers values ('vu3','123');
Query OK, 1 row affected(0.00 sec)
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 時,虛擬用戶使用與匿名用戶相同權限
可以到 百度云盤下載 賬號 pankuo1@sina.cn密碼pk492940446
下一篇:CA:加密解析