vsftpd虛擬用戶初相識

1、文件傳輸協議

一般來講,人們將電腦聯網的首要需求就是獲取資料,而文件傳輸是其中非常重要的方式之一,21世紀的互聯網是由幾千萬臺個人電腦、工作站、小型機、大型機等等不同型號、架構的物理設備共同組成的,即便是個人電腦上也可能會裝有諸如Linux、Windows、UNIX、DOS等等不同的操作系統,所以爲了能夠在如此複雜多樣的操作設備之間解決文件傳輸問題,於是便有了統一的FTP文件傳輸協議(File Transfer Protocol),這是一種能夠讓使用者在互聯網中上傳、下載文件的傳輸協議。很多同學在大學期間只知道FTP協議使用了21端口號,但實際上FTP文件傳輸協議默認佔用了20、21兩個端口號,20端口號用於進行數據傳輸,21端口號用於接受客戶端執行的相關FTP命令與參數,FTP服務端普遍更多的應用於內網中,具有易於搭建、方便管理的特點,並且可以藉助FTP客戶端工具還可以輕鬆實現文件的多點下載和斷點續傳技術,FTP協議的傳輸拓撲如圖所示。

wKiom1maS7-TyyR6AAAdxyInF8I194.png

2、Vsftpd服務程序

vsftpd作爲更加安全的FTP文件傳輸協議的服務程序,可以讓用戶分別通過匿名開放本地用戶虛擬用戶三種身份驗證方式來登陸到FTP服務器上面。匿名開放是一種最不安全的驗證模式,任何人都可以無需密碼驗證就登陸到FTP服務端主機。本地用戶是通過Linux系統本地的帳號密碼信息進行的驗證模式,這種模式相比較匿名開放模式來說比較安全,配置起來也十分簡單,不過如果被駭客暴力破解出FTP帳號信息,也就可以通過這個口令登陸到服務器系統中了,從而完全控制整臺服務器主機。最後的虛擬用戶是相比較最爲安全的驗證模式,需要爲FTP傳輸服務單獨建立用戶數據庫文件,虛擬出用來口令驗證的帳戶信息,這些帳號是在服務器系統中不存在的,僅供FTP傳輸服務做驗證使用,因此這樣即便駭客破解出了帳號口令密碼後也無法登錄到服務器主機上面,有效的降低了破壞範圍和影響。


3、虛擬用戶

3.1、虛擬用戶初識

虛擬用戶模式是一種相比較來說最爲安全的驗證方式,需要爲FTP傳輸服務單獨建立用戶數據庫文件,虛擬出用來口令驗證的帳戶信息,這些帳號是在服務器系統中不存在的,僅供FTP傳輸服務做驗證使用,因此這樣即便駭客破解出了帳號口令密碼後也無法登錄到服務器主機上面,有效的降低了破壞範圍和影響。所以只要在配置妥當合理的情況下,虛擬用戶模式要比前兩種驗證方式更加的安全,同時配置的流程也稍微會複雜一些。

3.2、虛擬用戶思路以及具體配置

1) yum install vsftpd* -y軟件安裝;

yum install vsftpd* db4* -y

2) 安裝libdb庫、pam認證模塊,安裝db_load工具;


3) 創建虛擬用戶臨時文件,存儲虛擬用戶名和密碼;

cat>/etc/vsftpd/ftpusers.txt<<EOF
ftp001
123456
ftp002
123456EOF

4) 基於db_load生成vsftpd_login.db數據庫文件;

db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/ftpusers.txt
chmod 700 /etc/vsftpd/vsftpd_login.db

5) 修改/etc/pam.d/vsftpd配置文件,添加數據庫認證支持;

cat>/etc/pam.d/vsftpd<<EOF
auth    sufficient      /lib64/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_login
account sufficient      /lib64/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_login
EOF

6) 創建系統真實用戶,將虛擬用戶映射到系統用戶,ftpuser,不能登錄系統,不用設置密碼;

useradd -s /sbin/nologin ftpuser

7) 添加虛擬用戶配置文件段,添加代碼至vsftpd.conf末尾,啓用虛擬用戶;

cat>>/etc/vsftpd/vsftpd.conf<<EOF
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
EOF

8) 創建虛擬用戶配置文件目錄,創建虛擬用戶對應配置文件名稱,並且寫入權限設置,綁定虛擬用戶的家目錄;/home/ftpuser/xxxx;

mkdir -p /etc/vsftpd/vsftpd_user_conf/
cat>/etc/vsftpd/vsftpd_user_conf/ftp001 <<EOF
local_root=/home/ftpuser/ftp001
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YESEOF

注意:/etc/vsftpd/vsftpd_user_conf/下的配置文件,一定要跟虛擬用戶的用戶名相同,否則無法對應上

9) 創建虛擬用戶的家目錄,mkdir –p /home/ftpuser/xxx,設置權限chown -R ftpuser.ftpuser /home/ftpuser

mkdir -p /home/ftpuser/ftp001/
chown -R ftpuser.ftpuser /home/ftpuser
service vsftpd restart


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