摘 要:目前運(yùn)行在常用Linux系統(tǒng)中的FTP服務(wù)器主要有wu-ftpd、proftpd和vsftpd等。vsftpd以其高安全性、完善的功能和突出的特性成為Linux系統(tǒng)中最突出的FTP服務(wù)器。本文基于RHEL5平臺,從vsftpd的基本配置和虛擬用戶著手,講述了如何配置出簡單有效的vsftpd服務(wù)器。
關(guān)鍵詞:RHEL5;Linux;vsftpd;虛擬用戶
中圖分類號:TP393.05
1 vsftpd服務(wù)器的介紹
FTP是最常見的網(wǎng)絡(luò)服務(wù)器之一,大多數(shù)的Linux操作系統(tǒng)都內(nèi)置有強(qiáng)大的FTP服務(wù)器軟件。vsftpd 是Red Hat Enterprise Linux 5內(nèi)置的FTP服務(wù)器軟件,與同類型的wu-ftpd和proftpd相比,vsftpd服務(wù)器具有很多優(yōu)良的特性,比如:較高的安全性、較好的帶寬限制、良好的可伸縮性、創(chuàng)建虛擬用戶的可行性、IPV6的支持性等。
2 啟動vsftpd服務(wù)器
RHEL5中查詢vsftpd安裝情況 #rpm–qa|grep vsftpd
RHEL5中啟動vsftpd服務(wù)器 #service vsftpd start
RHEL5中關(guān)閉vsftpd服務(wù)器 #service vsftpd stop
配置該服務(wù)器首先需要打開監(jiān)聽端口,監(jiān)聽端口可以在/etc/services中查看,管理員可以使用iptables命令打開系統(tǒng)的20號和21號端口。
3 vsftpd服務(wù)器的基本配置
Linux系統(tǒng)中vsftpd服務(wù)器的主配置文件位于/etc/vsftpd/vsftpd.conf,該文件主要負(fù)責(zé)匿名服務(wù)器的配置、非匿名服務(wù)器的配置、虛擬用戶服務(wù)器的配置三大功能,下面對該服務(wù)器的配置文件做簡要介紹。
3.1 設(shè)置服務(wù)器是否允許匿名用戶訪問
Anonymous_enable=yes
該項控制vsftpd服務(wù)器的匿名用戶訪問。該項為yes,則vsftpd服務(wù)器允許用戶匿名訪問。匿名用戶默認(rèn)情況下訪問服務(wù)器的/var/ftp目錄。該項為no,則必須設(shè)置相應(yīng)的本地用戶,做為客戶端的登陸用戶。
3.2 設(shè)置服務(wù)器是否允許匿名用戶上傳文件
Anon_upload_enable=yes
該項控制vsftpd服務(wù)器的匿名用戶上傳權(quán)限。該項為yes,匿名用戶還需要有兩個條件,才能向服務(wù)器上傳,即Write_enable選項的參數(shù)為yes,并且在文件系統(tǒng)中匿名用戶對某個目錄具有寫權(quán)限。該項為no,匿名用戶不具備上傳權(quán)限。
3.3 設(shè)置匿名用戶是否可以在服務(wù)器中創(chuàng)建目錄
Anon_mkdir_write_enable=yes
該項控制匿名用戶在服務(wù)器中創(chuàng)建、刪除目錄的權(quán)限。匿名用戶可以執(zhí)行該功能,還必須對服務(wù)器中的目錄具備寫權(quán)限。
3.4 設(shè)置本地用戶的訪問權(quán)限和訪問目錄
Local_enble=yes
Local_root=/home/private
該項控制本地用戶能否訪問服務(wù)器,在服務(wù)器中訪問哪個目錄文件。Local_root選項默認(rèn)對應(yīng)本地用戶的根目錄,如果Local_root選項定義為其它目錄,則本地用戶登陸服務(wù)器會切換到相對應(yīng)的目錄。
3.5 設(shè)置服務(wù)器安全等參數(shù)
vsftpd服務(wù)器必須設(shè)置相應(yīng)的安全參數(shù),因為客戶端過大的帶寬、過多的訪問量等因素會影響服務(wù)器的正常運(yùn)行。安全參數(shù)有:空閑時間、傳輸率、端口、最大連接數(shù)等。
設(shè)置數(shù)據(jù)空閑中斷時間Data_connection_timeout=120(秒)
設(shè)置本地用戶傳輸率 Local_max_rate=80000(bit)
設(shè)置匿名用戶傳輸率 Anon_max_rate=50000(bit)
設(shè)置最大連接數(shù) Max_clients=256
設(shè)置每IP最大連接數(shù) Max_per_ip=5
設(shè)置數(shù)據(jù)連接端口 Listen_port=5555
4 vsftpd服務(wù)器配置案例
通常FTP服務(wù)器的登陸用戶為系統(tǒng)的注冊用戶,登陸用戶容易暴露系統(tǒng)的安全性問題?;谔摂M用戶的PAM是一套身份驗證共享庫,它被限定用于特定用戶的訪問,使用該機(jī)制,能夠?qū)崿F(xiàn)vsftpd服務(wù)器的虛擬用戶功能。因為vsftpd服務(wù)器的虛擬用戶不是系統(tǒng)的登陸用戶,所以對系統(tǒng)的影響更小,該功能的使用有助于提高服務(wù)器的安全性。配置該vsftpd服務(wù)器的關(guān)鍵是創(chuàng)建PAM用戶數(shù)據(jù)庫文件和修改PAM配置文件。其實(shí)現(xiàn)的方法如下:
4.1 創(chuàng)建包括用戶名和密碼的文件/etc/vsftpd/ftp_pam_db.users,內(nèi)容如下:
User1(用戶名1)
Password1(密碼1)
Users(用戶名2)
Password2(密碼2)
…
4.2 創(chuàng)建每個用戶的訪問目錄/var/ftp/virtual/user1等,改變文件主為系統(tǒng)默認(rèn)的ftp.
chown ftp:ftp /var/ftp/virtual/user1
chown ftp:ftp /var/ftp/virtual/user2
…
4.3 用db_load命令生成pam_userdb認(rèn)證需要的賬號文件,.配置PAM信息,在/etc/pam.d/下新建一個文件vsftpd.pam。
#db_load –T–t hash –f/etc/vsftpd/ftp_pam_db.users /etc/vsftpd/vsftpd.login,db
vsftpd.pam內(nèi)容如下:
auth requires pam_userdb.so db=/etc/vsftpd/vsftpd.login
account required pam_userdb.so db=/etc/vsftpd/vsftpd.login
4.4 修改主配置文件/etc/vsftpd/vsftpd.conf如下:
(1)設(shè)置PAM身份驗證文件pam_service_name=vsftpd.pam
(2)啟動服務(wù)器虛擬用戶guest_enable=YES
(3)指明虛擬用戶映射的用戶guest_username=ftp
(4)指明虛擬用戶的配置目錄
local_root=/var/ftp/virtual/$USER
local_root=/var/ftp
user_config_dir=/etc/vsftpd/user_config_dir
(5)指明虛擬用戶的權(quán)限
chroot_local_user=YES
userlist_enable=YES
tcp_wrappers=YES
4.5 啟動服務(wù)器
客戶端即可使用虛擬用戶user1和user2來訪問服務(wù)器中對應(yīng)的目錄。
參考文獻(xiàn):
[1]仲勁.Linux服務(wù)器配置與管理[M].北京:北京理工大學(xué)出版社,2011.
[2]代洪濤.Linux 操作與服務(wù)器配置實(shí)用教程[M].北京:清華大學(xué)出版社,2014.
[3]林慧琛.Red Hat Linux服務(wù)器配置與應(yīng)用[M].北京:人民郵電出版社,2006.
[4]劉凱.Linux服務(wù)器架設(shè)項目教程[M].北京:電子工業(yè)出版社,2011.
作者簡介:陳欣(1975-),女,湖北武漢人,副教授,研究方向:計算機(jī)網(wǎng)絡(luò)工程、智能樓宇與系統(tǒng)集成技術(shù)。
作者單位:武漢職業(yè)技術(shù)學(xué)院 計算機(jī)學(xué)院,武漢 430074