您好,登錄后才能下訂單哦!
FTP文件傳輸服務
需求描述:
? 采用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包。如圖所示:
vsftpd服務使用Berkeley DB格式的數據庫文件來存放虛擬用戶賬號。建立這種數據庫文件需要用到db_load工具,db_load工具由db4_utils軟件包提供,而db4_utils軟件包需要先從RHEL5光盤目錄中進行安裝,其安裝可以執行以下操作:
創建文本格式的用戶名、密碼列表
首先需要建立文本格式的用戶名/密碼列表文件,奇數行為用戶名,偶數行為上一行中用戶所對應的密碼。如圖所示:
創建Berkeley DB格式的數據庫文件
有了文本格式的用戶名/密碼列表文件以后,以此文件為數據流通過db_load工具創建出Berkeley DB格式的數據庫文件。
在db_load命令中,“-f”選項用于指定數據源文件,“-T”選項允許非Berkeley DB的應用程序使用從文本格式轉換的DB數據文件,“-t hash”選項指定讀取數據文件的基本方法。
為了提高虛擬用戶賬號問價的安全性,應將問價權限設置為600,以避免數據外泄。其具體操作如下:
添加虛擬用戶的映射賬號、創建FTP根目錄
vsftp服務器對虛擬用戶的控制采用了映射的控制方式,將所有的虛擬用戶對應到同一個系統用戶,該系統用戶宿主目錄作為所有虛擬用戶登錄后共用的FTP根目錄。因此還需要添加一個對應的系統用戶賬戶(此賬號無需設置密碼及shell)。
修改vsftpd配置,添加虛擬用戶支持
在vsftpd.conf配置文件中添加guest_enable、guest_username配置項,將訪問FTP服務的所有虛擬用戶對應到同一系統用戶賬號virtual,并修改pam_serivce_name配置項,指向上一步建立的/etc/pam.d/vsftpd.vu認證文件。
在vsftpd服務中,虛擬用戶被默認作為匿名用戶進行處理以降低權限,因此對應的配置項通常以anon_開頭。
為不同的虛擬用戶建立獨立的配置文件
通過前面的幾個步驟,實際上已經可以重新加載vsftpd并提供服務了,使用任一個虛擬用戶賬號都可以登錄FTP服務器并下載文件。但因為所有的虛擬用都映射到同一個系統用戶賬號,因此FTP訪問權限也是相同的,要么都只能下載,要么都能夠上傳。
若要為不同的虛擬用戶賬號設置不同的訪問權限,可以通過為每個虛擬用戶建立單獨的配置文件來實現,為FTP用戶啟用獨立配置文件,需要通過vsftpd.conf配置文件,添加“user_config_dir”配置項。
有了上述配置以后,就可以在/etc/vsftpd/vusers_dir/目錄中為每個虛擬用戶分別建立配置文件了。
在vsftpd.conf文件中啟用了“user_config_dir”配置項以后,應該為每一個虛擬用戶都建立一個單獨的配置用戶(可以是空文件),否則該用戶可能會無法登錄。在每個用戶的獨立配置文件中,可以添加新的配置項來限制訪問權限、下載速率等。
有了虛擬用戶數據庫文件,并為vsftpd正確添加了虛擬用戶支持以后,就可以重新加載vsftpd服務程序了。用戶可以使用FTP客戶程序訪問該FTP服務器,以虛擬用戶賬號進行測試。
FTP服務器搭建完成!
? 使用user_list用戶列表文件
當vsftpd服務器開放了“local_enable”配置項以后,默認情況下所有的系統用戶都可以登錄到此FTP服務器。若只希望對一小部分系統用戶開放FTP服務,則需要開放用戶列表控制的相關配置項,其中主要包括userlist_enbale、userlist_deny。如圖所示:
? 修改vsftpd服務的監聽地址、端口
更改端口號后,Linux訪問:ftp://IP地址端口號
? 允許使用FTP服務器的被動模式
? 主動模式:服務器主動發起數據連接。首先由客戶端向服務端的21端口建立FTP控制連接,當需要傳輸數據時,客戶端以PORT命令告知服務器“我打開了某端口,你過來連接我”,于是服務器從20端口向客戶端的該端口發送請求并建立數據連接。
? 被動模式:服務器被動等待數據連接。如果客戶機所在網絡的防火墻禁止主動模式連接,通常會使用被動模式。首先由客戶端向服務器端的21端口建立FTP控制連接。當需要傳輸數據時,服務器已PASV命令告知客戶端“我打開了某端口,你過來連接我”,于是客戶端向服務器的該端口(非20)發送請求并建立數據連接。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。