FTP文件傳輸服務

1:FTP(文件傳輸協議)
典型的C/S架構的應用層協議,需要由服務端軟件,客戶端軟件兩部分共同實現傳輸功能
需求描述;
採用FTP虛擬用戶的方式,添加三個用戶:zhangsan、lisi、wangwu。
用戶訪問及文件權限控制
開放匿名訪問,任何用戶均可下載服務器/var/ftp/soft/目錄中的軟件資料。
用戶zhangsan可以對服務器的/var/ftp/soft/目錄進行上傳、刪除等操作。
用戶lisi可以下載服務器/var/market/目錄中的市場活動、銷售方案的資料。
用戶wangwu可以對服務器/var/market/目錄進行上傳、刪除等操作。
所有通過FTP上傳的文件,均去除非屬主位的寫權限(即將權限掩碼設爲022)。
對服務器中沒有明確授權的其他目錄,禁止任何用戶訪問。
傳輸速率和併發連接控制
最多允許150個併發用戶連接,每個IP併發連接數不超過5個。
匿名用戶及lisi用戶的下載帶寬限制爲100KB/s。
wangwu用戶的下載、上傳帶寬限制爲200KB/s。
具體步驟:
插入光盤並掛載,然後安裝vsftpd包。

FTP文件傳輸服務

2:vsftpd服務使用Berkeley DB格式的數據庫文件來存放虛擬用戶賬號。建立這種數據庫文件需要用到db_load工具,db_load工具由db4_utils軟件包提供,而db4_utils軟件包需要先從RHEL5光盤目錄中進行安裝,其安裝可以執行以下操作:

FTP文件傳輸服務

3:創建文本格式的用戶名、密碼列表
首先需要建立文本格式的用戶名/密碼列表文件,奇數行爲用戶名,偶數行爲上一行中用戶所對應的密碼。

FTP文件傳輸服務

4:添加虛擬用戶的映射賬號、創建FTP根目錄
vsftp服務器對虛擬用戶的控制採用了映射的控制方式,將所有的虛擬用戶對應到同一個系統用戶,該系統用戶宿主目錄作爲所有虛擬用戶登錄後共用的FTP根目錄。因此還需要添加一個對應的系統用戶賬戶(此賬號無需設置密碼及shell)

FTP文件傳輸服務

5:爲虛擬用戶建立PAM認證文件
vsftpd服務默認的PAM認證文件位於/etc/pam.d/vsftpd,該文件適用於以Linux主機的系統用戶賬號進行認證。若要讀取虛擬用戶的賬號文件,就需要創建新的PAM認證配置。

FTP文件傳輸服務

6:上述PAM配置內容中,通過“db=/etc/vsftpd/vusers”參數指定了要使用的虛擬用戶數據庫文件位置(省略了.db擴展名),即對應爲/etc/vsftpd/vusers.db文件。

7:修改vsftpd配置,添加虛擬用戶支持
在vsftpd.conf配置文件中添加guest_enable、guest_username配置項,將訪問FTP服務的所有虛擬用戶對應到同一系統用戶賬號virtual,並修改pam_serivce_name配置項,指向上一步建立的/etc/pam.d/vsftpd.vu認證文件。

vim/etc/vsftpd/vsftpd.conf

FTP文件傳輸服務

8:在vsftpd服務中,虛擬用戶被默認作爲匿名用戶進行處理以降低權限,因此對應的配置項通常以anon_開頭。

創建目錄/var/ftp/soft/,將屬主設爲virtual,權限爲755。

FTP文件傳輸服務

9:爲不同的虛擬用戶建立獨立的配置文件
通過前面的幾個步驟,實際上已經可以重新加載vsftpd並提供服務了,使用任一個虛擬用戶賬號都可以登錄FTP服務器並下載文件。但因爲所有的虛擬用都映射到同一個系統用戶賬號,因此FTP訪問權限也是相同的,要麼都只能下載,要麼都能夠上傳。
若要爲不同的虛擬用戶賬號設置不同的訪問權限,可以通過爲每個虛擬用戶建立單獨的配置文件來實現,爲FTP用戶啓用獨立配置文件,需要通過vsftpd.conf配置文件,添加“user_config_dir”配置項。

FTP文件傳輸服務

有了上述配置以後,就可以在/etc/vsftpd/vusers_dir/目錄中爲每個虛擬用戶分別建立配置文件了。

mkdir /etc/vsftpd/vusers_dir //創建用戶配置文件夾
cd /etc/vsftpd/vusers_dir
vim zhangsan //爲用戶張三建立獨立配置文件

FTP文件傳輸服務

FTP文件傳輸服務

FTP文件傳輸服務

在vsftpd.conf文件中啓用了“user_config_dir”配置項以後,應該爲每一個虛擬用戶都建立一個單獨的配置用戶(可以是空文件),否則該用戶可能會無法登錄。在每個用戶的獨立配置文件中,可以添加新的配置項來限制訪問權限、下載速率等。
有了虛擬用戶數據庫文件,併爲vsftpd正確添加了虛擬用戶支持以後,就可以重新加載vsftpd服務程序了。用戶可以使用FTP客戶程序訪問該FTP服務器,以虛擬用戶賬號進行測試。

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