1.安裝vsftpd服務(wù)器
vsftpd是目前Linux最好的FTP服務(wù)器工具之一,其中的vs就是“VerySecure”(很安全)的縮寫,可見它的最大優(yōu)點(diǎn)就是安全,除此之外,它還具有體積小,可定制強(qiáng),效率高的優(yōu)點(diǎn)。
如果選擇完全安裝RedHatLinux9.0,則系統(tǒng)會(huì)默認(rèn)安裝vsftpd服務(wù)器。我們可以在終端命令窗口輸入以下
命令進(jìn)行驗(yàn)證:
[root@ahpengroot]rpm-qagrepvsftpd
如果結(jié)果顯示為“vsftpd-1.1.3-8”,則說明系統(tǒng)已經(jīng)安裝vsftpd服務(wù)器。如果安裝RedHatLinux9.0時(shí)沒有選擇vsftpd服務(wù)器,則可以在圖形環(huán)境下單擊“主菜單→系統(tǒng)設(shè)置→添加刪除應(yīng)用程序”菜單項(xiàng),在出現(xiàn)的“軟件包管理”對(duì)話框里確保選中“FTP服務(wù)器”選項(xiàng),然后單擊“ 更新”按鈕,按照屏幕提示插入第3張安裝光盤即可開始安裝。
另外,你也可以直接插入第3張安裝光盤,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然后在終端命令窗口運(yùn)行以下命令即可開始安裝進(jìn)程:
[root@ahpengRPMS]rpm-ivhvsftpd-1.1.3-8.i386.rpm
2.啟動(dòng)/重新啟動(dòng)/停止vsftpd服務(wù)
從RedHatLinux9.0開始,vsftpd默認(rèn)只采用standalone方式啟動(dòng)vsftpd服務(wù),方法是在終端命令窗口運(yùn)行以下命令:
[root@ahpengroot]/etc/rc.d/init.d/vsftpdstart
重新啟動(dòng)vsftpd服務(wù):
[root@ahpengroot]/etc/rc.d/init.d/vsftpdrestart
關(guān)閉vsftpd服務(wù):
[root@ahpengroot]/etc/rc.d/init.d/vsftpdstop
確認(rèn)vsftpd服務(wù)已經(jīng)啟動(dòng)后,我們可以在任意一臺(tái)Windows主機(jī)的DOS命令窗口里輸入“ftpFTPAddres”(用實(shí)際的FTP服務(wù)器IP地址或者域名代替FTPAddres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號(hào)),如下所述:
MicrosoftWindowsXP[版本5.1.2600]
(C)版權(quán)所有1985-2001MicrosoftCorp.
F:\Peter>ftpFTPAddress
ConnectedtoFTPAddress
220(vsFTPd1.1.3)//vsftpd的響應(yīng)請(qǐng)求
User(FTPAddress:(none)):ftp//輸入用戶賬號(hào)ftp
331Pleasespecifythepassword.
Password://輸入密碼ftp
230Loginsuccessful.Havefun.
ftp>
3.vsftpd的配置
在RedHatLinux9.0里的vsftpd共有3個(gè)配置文件,它們分別是:
vsftpd.ftpusers:位于/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP服務(wù)器,例如root等。
vsftpd.user_list:位于/etc目錄下。該文件里的用戶賬戶在默認(rèn)情況下也不能訪問
FTP服務(wù)器,僅當(dāng)vsftpd.conf配置文件里啟用userlist_enable=NO選項(xiàng)時(shí)才允許訪問。
vsftpd.conf:位于/etc/vsftpd目錄下。它是一個(gè)文本文件,我們可以用Kate、Vi等文本編輯工具對(duì)它進(jìn)行修改,以此來自定義用戶登錄控制、用戶權(quán)限控制、超時(shí)設(shè)置、服務(wù)器功能選項(xiàng)、服務(wù)器性能選項(xiàng)、服務(wù)器響應(yīng)消息等FTP服務(wù)器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時(shí)不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
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)用戶權(quán)限控制
write_enable=YES,開啟全局上傳權(quán)限。
local_umask=022,本地用戶的上傳文件的umask設(shè)為022(系統(tǒng)默認(rèn)是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳權(quán)限,很明顯,必須啟用write_enable=YES,才
可以使用此項(xiàng)。同時(shí)我們還必須建立一個(gè)允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號(hào))。
anon_mkdir_write_enable=YES,允許匿名用戶有創(chuàng)建目錄的權(quán)利。
chown_uploads=YES,啟用此項(xiàng),匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號(hào)為匿名上傳文件的屬主用戶!
chown_username=whoever,當(dāng)啟用chown_uploads=YES時(shí),所指定的屬主用戶賬號(hào),此處的whoever自然要用合適的用戶賬號(hào)來代替。
chroot_list_enable=YES,可以用一個(gè)列表限定哪些本地用戶只能在自己目錄下活動(dòng),如果chroot_local_user=YES,那么這個(gè)列表里指定的用戶是不受限制的。
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ào),讓FTP服務(wù)器用作完全隔離和沒有特權(quán)的獨(dú)立用戶。這是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)程用戶們?cè)贏SCⅡ模式下用“SIZE/big/file”這樣的指令大量消耗FTP服務(wù)器的I/O資源。
這些ASCⅡ模式的設(shè)置選項(xiàng)分成上傳和下載兩個(gè),這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導(dǎo)致崩潰),而不會(huì)遭受拒絕服務(wù)攻擊的危險(xiǎn)。
(3)用戶連接和超時(shí)選項(xiàng)
idle_session_timeout=600,可以設(shè)定默認(rèn)的空閑超時(shí)時(shí)間,用戶超過這段時(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=WelcometoblahFTPservice,可以自定義FTP用戶登錄到服務(wù)器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動(dòng)日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日志文件的保存路徑和文件名,默認(rèn)是/var/log/vsftpd.log.