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
轉載于:https://blog.51cto.com/itanony/1298466