現(xiàn)如今越來(lái)越多的人選擇了開(kāi)源的Linux操作系統(tǒng),其不遜于Windows的性能和平易近人的價(jià)格是人們選擇它的最好理由,而Red Hat Linux 9是Linux操作系統(tǒng)中使用最廣的一種。Red Hat Linux 9利用其簡(jiǎn)單的配置和用戶(hù)熟悉的圖形界面為人們提供了豐富的Internet服務(wù),F(xiàn)TP便是其提供的服務(wù)之一。在眾多的網(wǎng)絡(luò)應(yīng)用中,F(xiàn)TP有著非常重要的地位,互聯(lián)網(wǎng)中各種各樣的軟件資源大多數(shù)都放在FTP服務(wù)器中。與大多數(shù)互聯(lián)網(wǎng)服務(wù)一樣,F(xiàn)TP也是一個(gè)客戶(hù)機(jī)/服務(wù)器系統(tǒng)。下面我就給大家簡(jiǎn)單介紹一下如何在Red Hat Linux 9 下架設(shè)FTP服務(wù)器,希望藉此拋磚引玉。
1.安裝vsftpd服務(wù)器
vsftpd是目前Linux最好的FTP服務(wù)器工具之一,其中的vs就是“Very Secure”(很安全)的縮寫(xiě),可見(jiàn)它的最大優(yōu)點(diǎn)就是安全,除此之外,它還具有體積小,可定制強(qiáng),效率高的優(yōu)點(diǎn)。
如果選擇完全安裝Red Hat Linux 9.0,則系統(tǒng)會(huì)默認(rèn)安裝vsftpd服務(wù)器。我們可以在終端命令窗口輸入以下命令進(jìn)行驗(yàn)證:
[root@ahpeng root] rpm -qagrep vsftpd
如果結(jié)果顯示為“vsftpd-1.1.3-8”,則說(shuō)明系統(tǒng)已經(jīng)安裝vsftpd服務(wù)器。如果安裝Red Hat Linux 9.0時(shí)沒(méi)有選擇vsftpd服務(wù)器,則可以在圖形環(huán)境下單擊“主菜單→系統(tǒng)設(shè)置→添加刪除應(yīng)用程序”菜單項(xiàng),在出現(xiàn)的“軟件包管理”對(duì)話框里確保選中 “FTP服務(wù)器”選項(xiàng),然后單擊“更新”按鈕,按照屏幕提示插入第3張安裝光盤(pán)即可開(kāi)始安裝。
另外,你也可以直接插入第3張安裝光盤(pán),定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然后在終端命令窗口運(yùn)行以下命令即可開(kāi)始安裝進(jìn)程:
[root@ahpeng RPMS] rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.啟動(dòng)/重新啟動(dòng)/停止vsftpd服務(wù)
從Red Hat Linux 9.0開(kāi)始,vsftpd默認(rèn)只采用standalone方式啟動(dòng)vsftpd服務(wù),方法是在終端命令窗口運(yùn)行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新啟動(dòng)vsftpd服務(wù):
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
關(guān)閉vsftpd服務(wù):
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
確認(rèn)vsftpd服務(wù)已經(jīng)啟動(dòng)后,我們可以在任意一臺(tái)Windows主機(jī)的DOS命令窗口里輸入“ftp FTPAddres”(用實(shí)際的FTP服務(wù)器IP地址或者域名代替FTPAddres),注意用戶(hù)名、密碼都是ftp(ftp是匿名用戶(hù)的映射用戶(hù)賬號(hào)),如下所述:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權(quán)所有 1985-2001 Microsoft Corp.
F:\Peter>ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 1.1.3)//vsftpd的響應(yīng)請(qǐng)求
User (FTPAddress:(none)): ftp//輸入用戶(hù)賬號(hào)ftp
331 Please specify the password.
Password://輸入密碼ftp
230 Login successful. Have fun.
ftp>
3.vsftpd的配置
在Red Hat Linux 9.0里的vsftpd共有3個(gè)配置文件,它們分別是:
vsftpd.ftpusers:位于/etc目錄下。它指定了哪些用戶(hù)賬戶(hù)不能訪問(wèn)FTP服務(wù)器,例如root等。
vsftpd.user_list:位于/etc目錄下。該文件里的用戶(hù)賬戶(hù)在默認(rèn)情況下也不能訪問(wèn)FTP服務(wù)器,僅當(dāng)vsftpd .conf配置文件里啟用userlist_enable=NO選項(xiàng)時(shí)才允許訪問(wèn)。
vsftpd.conf:位于/etc/vsftpd目錄下。它是一個(gè)文本文件,我們可以用Kate、Vi等文本編輯工具對(duì)它進(jìn)行修改,以此來(lái)自定義用戶(hù)登錄控制、用戶(hù)權(quán)限控制、超時(shí)設(shè)置、服務(wù)器功能選項(xiàng)、服務(wù)器性能選項(xiàng)、服務(wù)器響應(yīng)消息等FTP服務(wù)器的配置。
(1)用戶(hù)登錄控制
anonymous_enable=YES,允許匿名用戶(hù)登錄。
no_anon_password=YES,匿名用戶(hù)登錄時(shí)不需要輸入密碼。
local_enable=YES,允許本地用戶(hù)登錄。
deny_email_enable=YES,可以創(chuàng)建一個(gè)文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當(dāng)啟用deny_email_enable功能時(shí),所需的電子郵件黑名單保存路徑(默認(rèn)為/etc/vsftpd.banned_emails)。
(2)用戶(hù)權(quán)限控制
write_enable=YES,開(kāi)啟全局上傳權(quán)限。
local_umask=022,本地用戶(hù)的上傳文件的umask設(shè)為022(系統(tǒng)默認(rèn)是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶(hù)具有上傳權(quán)限,很明顯,必須啟用write_enable=YES,才可以使用此項(xiàng)。同時(shí)我們還必須建立一個(gè)允許ftp用戶(hù)可以讀寫(xiě)的目錄(前面說(shuō)過(guò),ftp是匿名用戶(hù)的映射用戶(hù)賬號(hào))。
anon_mkdir_write_enable=YES,允許匿名用戶(hù)有創(chuàng)建目錄的權(quán)利。
chown_uploads=YES,啟用此項(xiàng),匿名上傳文件的屬主用戶(hù)將改為別的用戶(hù)賬戶(hù),注意,這里建議不要指定root賬號(hào)為匿名上傳文件的屬主用戶(hù)!
chown_username=whoever,當(dāng)啟用chown_uploads=YES時(shí),所指定的屬主用戶(hù)賬號(hào),此處的whoever自然要用合適的用戶(hù)賬號(hào)來(lái)代替。
chroo
t_list_enable=YES,可以用一個(gè)列表限定哪些本地用戶(hù)只能在自己目錄下活動(dòng),如果chroot_local_user=YES,那么這個(gè)列表里指定的用戶(hù)是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認(rèn)是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個(gè)安全用戶(hù)賬號(hào),讓FTP服務(wù)器用作完全隔離和沒(méi)有特權(quán)的獨(dú)立用戶(hù)。這是vsftpd系統(tǒng)推薦選項(xiàng)。
async_abor_enable=YES,強(qiáng)烈建議不要啟用該選項(xiàng),否則將可能導(dǎo)致出錯(cuò)!
ascii_upload_enable=YES;ascii_download_enable=YES,默認(rèn)情況下服務(wù)器會(huì)假裝接受ASCⅡ模式請(qǐng)求但實(shí)際上是忽略這樣的請(qǐng)求,啟用上述的兩個(gè)選項(xiàng)可以讓服務(wù)器真正實(shí)現(xiàn)ASCⅡ模式的傳輸。
注意:?jiǎn)⒂胊scii_download_enable選項(xiàng)會(huì)讓惡意遠(yuǎn)程用戶(hù)們?cè)贏SCⅡ模式下用SIZE/big/file這樣的指令大量消耗FTP服務(wù)器的I/O資源。
這些ASCⅡ模式的設(shè)置選項(xiàng)分成上傳和下載兩個(gè),這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導(dǎo)致崩潰),而不會(huì)遭受拒絕服務(wù)攻擊的危險(xiǎn)。
(3)用戶(hù)連接和超時(shí)選項(xiàng)
idle_session_timeout=600,可以設(shè)定默認(rèn)的空閑超時(shí)時(shí)間,用戶(hù)超過(guò)這段時(shí)間不動(dòng)作將被服務(wù)器踢出。
data_connection_timeout=120,設(shè)定默認(rèn)的數(shù)據(jù)連接超時(shí)時(shí)間。
(4)服務(wù)器日志和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個(gè)目錄下面的message_file文件的內(nèi)容。
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶(hù)登錄到服務(wù)器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動(dòng)日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日志文件的保存路徑和文件名,默認(rèn)是/var/log/vsftpd.log.