rhel6下基於虛擬帳號的ftp文件共享

ftp是在internet上應用較爲廣泛的文件共享服務,在linux下可以通過pureftp,vsftpd等來實現。ftp的幾種主要驗證方式有1.匿名帳號

2.系統帳號

3.虛擬帳號

ftp採用的是tcp的21號端口和20號端口。21號主要用於鏈接控制。20號用來傳輸數據。明文傳遞。這樣,如果我們採用系統賬戶登錄ftp,在網絡傳輸的過程中賬戶名密碼可能被人抓包。對操作系統的安全造成威脅。而虛擬帳號登錄的時候採用的是一個在系統中不存在的帳號。當經過系統pam驗證後,就會在系統內映射爲一個系統用戶。這樣即使被抓包,也是個根本無法登錄系統的帳號。不會對系統造成威脅。

使用vsftpd實現虛擬賬戶訪問ftp

實驗步驟:

1.安裝vsftpd. db4-load(主要用於生成虛擬帳號的數據庫文件)

#yum install vsftpd db4-load -y

2.生成虛擬賬戶的數據庫文件vuser(文件路徑自己定義)

#vim vuser
user1
123
user2
456
#db-load -T -t hash -f vuser vuser.db

在上邊的vuser中 文件的奇數行對應虛擬賬戶的用戶名。偶數行對用密碼

3.修改文件權限。僅允許root查看修改

#chmod 600 vuser*

4.添加虛擬用戶對應的系統用戶virftp

#useradd -d /var/ftpd -s /sbin/nologin virftp
#chmod 755 /var/ftpd

5.爲虛擬用戶創建pam認證文件


#vim /etc/pam.d/vuser
#PAM-1.0                 //注意這裏的#。不要和上邊的搞混
auth        required        pam_userdb.so db=/etc/vsftpd/vuser
account        required     pam_userdb.so  db=/etc/vsftpd/vuser

6.修改vsftpd配置文件

#grep -v "^$" /etc/vsftpd/vsftpd.conf |grep -v "^#"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vuser   //vuser是剛纔編寫的pam文件
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virftp

這樣就可以使用虛擬用戶訪問ftp。如果實驗不同。注意自己的iptables防火牆和selinux狀態

當需要對不同的用戶區別不同的權限,可以在vsftpd主目錄下新建文件夾以存放用戶配置文件。同時在vsftpd主配置文件末尾追加

user_config_dir=/etc/vsftpd/virftp

在虛擬用戶的配置文件目錄中可以創建虛擬用戶賬戶命名的文件對賬戶權限進行控制,需要注意的是。虛擬用戶被默認按照匿名用戶控制以降低權限。所以在配置文件中應按匿名用戶的配置來寫

如 anon_write_enable=YES


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章