vsftpd對匿名用戶的權(quán)限管理不夠靈活,如果想對訪問FTP的帳戶給予更多的權(quán)限,就可以用本地帳戶來實(shí)現(xiàn),但是,本地帳戶默認(rèn)情況下是可以登錄
linux系統(tǒng)的,這樣對linux系統(tǒng)來說是一個安全隱患。
vsftpd虛擬用戶或匿名帳戶,既能靈活的賦予FTP用戶權(quán)限又能保證FTP己整個linux的安全。
分析一下原理:
虛擬用戶不是一個合法的linux系統(tǒng)帳戶,但可以登錄系統(tǒng)上運(yùn)行的FTP服務(wù)器,當(dāng)用戶在連接上FTP服務(wù)器后,會被要求輸入用戶名和密碼。FTP服務(wù)器拿到這個用戶名和密碼后,會調(diào)用相應(yīng)的PAM模塊,將此用戶名和密碼與FTP認(rèn)證文件進(jìn)行比較,如果相符就通過認(rèn)證并被映射成一個linux下的本地帳戶,然后根據(jù)使用本地帳戶對FTP資源進(jìn)行訪問,否則斷開連接請求。
1.下載軟件db4_utils-4.3.29-10.el5
2.建一個本地帳戶 useradd -d /etc/vsftpd/ftproot -s /sbin/nologin virtual
3.將目錄/etc/vsftpd/ftproot的權(quán)限改為755,讓虛擬用戶有權(quán)限可以訪問。
4.在建一個文件/etc/vsftpd/user.txt 并寫入虛擬用戶的用戶名和密碼,奇數(shù)行為用戶名,偶數(shù)行為密碼。
5.用命令db-load 將文件user.txt 轉(zhuǎn)化為數(shù)據(jù)庫文件
Db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db
6.在/etc/pam.d/下創(chuàng)建文件vsftpd.vu并編輯文件
Auth required /lib/security/pam_userdb.so /etc/vsftpd/user.db
Account required /lib/security/pam_userdb.so /etc/vsftpd/user.db
7.編輯/etc/vsftpd/vsftpd.conf
復(fù)制代碼代碼如下:
anonymous_enable=yes
local_enable=yes
guest_enable=yes 注:此項(xiàng)開啟后本地所有用戶便不能登錄了,即使local_enable=yes (可以自行驗(yàn)證)
guest_username=virtual -> 指明映射的本地用戶
pam_service_name=vsftpd.vu -> pam認(rèn)證的文件名(/etc/pam.d/vsftpd.vu)
Tcp_wrappers=yes
8. 重啟服務(wù) service vsftpd restart
進(jìn)行到這里創(chuàng)建虛擬用戶的基本過程就做完了。
如果要對不同的虛擬用戶進(jìn)行不同的權(quán)限控制可在/etc/vsftpd/vsftpd.conf中加入user_config_dir=/etc/vsftpd/user_config/。/etc/vsftpd/user_config/是虛擬用戶自己額外的配置文件的所在目錄。
您可能感興趣的文章:
vsftpd安裝及虛擬用戶認(rèn)證的配置方法ubuntu vsftpd虛擬用戶配置CentOS 6.2 配置vsftpd虛擬用戶的方法vsftpd配置虛擬用戶的方法介紹vsftpd虛擬用戶創(chuàng)建實(shí)例vsftpd虛擬用戶配置的總結(jié)CentOS 5.3建立Vsftpd虛擬用戶CentOS6.2 x64 下 配置vsftpd虛擬用戶服務(wù)器vsftp 虛擬用戶高級設(shè)置