在Linux環(huán)境配置功能完善的WU-FTP服務(wù)器的方法分享
FTP服務(wù)可以根據(jù)服務(wù)對(duì)象的不同分為兩類:一類是系統(tǒng)FTP服務(wù)器,它只允許系統(tǒng)上的合法用戶使用; 另一類是匿名FTP服務(wù)器,Anonymous FTP Server,它使用任何人都可以登錄到FTP服務(wù)器上去獲取文件。下面,本文將介紹如何在LINUX系統(tǒng)中利用wu-ftp架設(shè)一臺(tái)FTP服務(wù)器。
一、選擇和安裝FTP服務(wù)器軟件
如果你在安裝LINUX系統(tǒng)的時(shí)候,在選擇啟動(dòng)進(jìn)程的時(shí)候選擇了“ftpd”這一項(xiàng)的話,安裝完LINUX系統(tǒng)后,它已經(jīng)將一個(gè)默認(rèn)的FTP服務(wù)器安裝到系統(tǒng)中去了。我們已經(jīng)可以利用它來實(shí)現(xiàn)系統(tǒng)FTP服務(wù)器的功能了。我們只需在此基礎(chǔ)上根據(jù)我們的需要進(jìn)行一些個(gè)性化設(shè)定就可以了。
在絕大多數(shù)的LINUX版本中都選用的是WashingtonUniversity FTP,它是一個(gè)著名的FTP服務(wù)器軟件,一般簡(jiǎn)稱為wu-ftp。它功能強(qiáng)大,能夠很好地運(yùn)行于眾多的UNIX操作系統(tǒng),例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服務(wù)器,一大半以上采用了它。wu-ftp擁有許多強(qiáng)大的功能,很適于吞吐量較大的FTP服務(wù)器的管理要求:
1、可以在用戶下載文件的同時(shí)對(duì)文件做自動(dòng)的壓縮或解壓縮操作;
2、可以對(duì)不同網(wǎng)絡(luò)上的機(jī)器做不同的存取限制;
3、可以記錄文件上載和下載時(shí)間;
4、可以顯示傳輸時(shí)的相關(guān)信息,方便用戶及時(shí)了解目前的傳輸動(dòng)態(tài);
5、可以設(shè)置最大連接數(shù),提高了效率,有效地控制了負(fù)載。
二、wu-ftp的組成
安裝了wu-ftp后,你將在/bin目錄下看到以下五個(gè)可執(zhí)行文件:
ftpd FTP服務(wù)器程序
ftpshut 用于關(guān)閉FTP服務(wù)器程序
ftpcount 顯示目前在線人數(shù)
ftpwho 查看目前FTP服務(wù)器的連接情況
ckconfig 檢查FTP服務(wù)器的設(shè)置是否正確
除了這些可執(zhí)行文件以外,它還在/etc和/var目錄下生成了七個(gè)配置文件:
/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
系統(tǒng)安裝了wu-ftp后,會(huì)建立一個(gè)特殊的用戶ftp,并在/home目錄下建立了一個(gè)ftpd目錄,當(dāng)用戶以匿名登錄上來時(shí),將會(huì)自動(dòng)定位于這個(gè)目錄下。在這個(gè)目錄下一般會(huì)建立幾個(gè)子目錄。
/home/ftpd/bin 存放一些供FTP用戶使用的可執(zhí)行文件
/home/ftpd/etc 存放一些供FTP用戶使用的配置文件
/home/ftpd/pub 存放供下載的信息
/home/ftpd/incoming 存放供上載信息的空間
三、wu-ftp的配置
1、查看修改/etc/inetd.conf文件
/etc/inetd.conf文件是LINUX系統(tǒng)的超級(jí)服務(wù)器inetd的配置文件。它負(fù)責(zé)監(jiān)聽多個(gè)TCP/IP端口。當(dāng)它收到請(qǐng)求,就根據(jù)配置文件派生一個(gè)相應(yīng)的服務(wù)器。通過使用超級(jí)服務(wù)器,其他服務(wù)就可以只在需要時(shí)才派生,從而大大節(jié)省了系統(tǒng)資源。而wu-ftp就是利用超極服務(wù)器inetd來監(jiān)聽請(qǐng)求的。當(dāng)超級(jí)服務(wù)器inetd收到了客戶端的FTP請(qǐng)求時(shí),就根據(jù)配置文件打開一個(gè)FTP服務(wù)進(jìn)程。
所以我們?nèi)绻褂脀u-ftp,就必須確認(rèn)在超級(jí)服務(wù)器inetd的配置文件inetd.conf中有這樣一句:ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd以便當(dāng)超級(jí)服務(wù)器收到FTP請(qǐng)求的時(shí)候,能夠派生一個(gè)wu-ftp的FTP服務(wù)進(jìn)程。(注:要確認(rèn)是否有這樣一行時(shí),可以使用文件內(nèi)容查找命令來確認(rèn):cat /etc/inetd.conf grep ftp如果沒有,則用手工加入或手工修改)。
2、wu-ftpd的命令選項(xiàng)wu-ftpd
wu-ftpd的命令選項(xiàng)wu-ftpd就是wu-ftp的服務(wù)進(jìn)程。它可以不帶參數(shù)執(zhí)行,也可以帶參數(shù)執(zhí)行。下面簡(jiǎn)單介紹一下wu-ftpd的執(zhí)行參數(shù):
-d 當(dāng)FTP服務(wù)器出錯(cuò)時(shí),將錯(cuò)誤入系統(tǒng)的syslog中;
-l 將每次FTP客戶端進(jìn)行連接的入系統(tǒng)的syslog中;
-t 設(shè)置FTP客戶端連接幾分鐘無操作就切斷連接;
-a 使wu-ftp使用/etc/ftpaccess的設(shè)定;
-A 使wu-ftp不使用/etc/ftpaccess的設(shè)定;
-L 將FTP客戶端連線后所執(zhí)行的程序記錄在系統(tǒng)的syslog中;
-I 將FTP客戶端上載文件的日志記錄在/usr/adm.xferlog文件中;
-o 將FTP客戶端下載文件的日志記錄
在/usr/adm/xferlog文件中。
通過對(duì)以上參數(shù)的理解,我們建議,將上面系統(tǒng)安裝時(shí)的那條默認(rèn)配置改為:ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd –a –I
3、提供自動(dòng)壓縮、解壓縮的功能
如果想讓FTP服務(wù)器有自動(dòng)壓縮、解壓縮的功能,必須先將一些壓縮、解壓縮的命令文件如tar、gzip、gunzip、compress、uncompress等命令文件拷貝到/home/ftpd/bin目錄下。
4. 關(guān)于/etc/ftpaccess的設(shè)置
這個(gè)配置文件是FTP服務(wù)器上最重要的配置文件,它直接關(guān)系到你的FTP服務(wù)器能否正常工作,還有許多權(quán)限上的設(shè)置。下面是一個(gè)典型的配置實(shí)例。
loginfails 3
class local real *
class remote anonymous guest *
limit remote 100 Any /etc/ftpd/toomany.msg
message /etc/ftpd/welcome.msg login
compress yes local remote
tar yes local remote
private yes
passwd-check rfc822 warn
log commands real
log transfer anonymous guest inbound outbound
log transfer real inbound
shutdown /etc/ftpd/shut.msg
delete no anonymous,guest
overwrite no anonymous,guest
rename no anonymous
chmod no anonymous,guest
umask no anonymous
upload /home/ftpd * no
upload /home/ftpd /bin no
upload /home/ftpd /etc no
upload /home/ftpd /pub yes real 0644 dirs
upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
alias in /incoming
email guest@xxx.net
email guest@yyy.net
deny *.com.tw /etc/ftpd/deny.msg
下面我們逐句進(jìn)行講解,并給出每條設(shè)置的含義,以便大家觸類旁通,以便根據(jù)自己FTP服務(wù)器的具體情況進(jìn)行合理的設(shè)置。
1)格式:loginfails [次數(shù)]
功能:設(shè)定當(dāng)用戶登錄到FTP服務(wù)器時(shí),允許用戶輸錯(cuò)密碼的次數(shù)。
實(shí)例:loginfails 3:密碼輸入錯(cuò)誤三次就切斷連接。
2)格式:class [類名] [real/guest/anonymous] [IP地址]
功能:這個(gè)指令的功能設(shè)定FTP服務(wù)器上用戶的類別。并可對(duì)客戶端的IP地址進(jìn)行限制,允許某部分的IP地址或全部的IP地址訪問。而在FTP服務(wù)器上的用戶基本上可以分為以下三類:
real 在該FTP服務(wù)器有合法帳號(hào)的用戶;
guest 有記錄的匿名用戶;
anonymous 權(quán)限最低的匿名用戶
實(shí)例:class local real *:定義一個(gè)名為local的類,它包含了在任何地方登錄(*代表所有IP地址)的real用戶。
class remote anonymous guest *:定義一個(gè)名為remote的類,它包含了在任何地方登錄的anonymous用戶和guest用戶。
3)格式limit[類別] [人數(shù)] [時(shí)間] [文件名]
功能:這個(gè)指令的功能為設(shè)置指定的時(shí)間內(nèi)指定的類別允許連接的指定人數(shù)上限。當(dāng)達(dá)到人數(shù)上限的時(shí)候,顯示指定文件的內(nèi)容。
實(shí)例:limit remote 100 Any /etc/ftpd/toomany.msg:在任何時(shí)間內(nèi),remote類的訪問用戶達(dá)到100人時(shí),將不再允許無法產(chǎn)生新的連接,當(dāng)?shù)?01位客戶要連接時(shí),連接將失敗,并象用戶出示文件/etc/ftpd/toomany.msg的內(nèi)容。
4)格式message [文件名稱] [指令]
功能:當(dāng)用戶執(zhí)行所指定的指令時(shí),系統(tǒng)將指定的文件內(nèi)容顯示出來。
實(shí)例:message /etc/ftpd/welcome.msg login:當(dāng)用戶執(zhí)行l(wèi)ogin命令時(shí),也就是登錄到FTP服務(wù)器上的時(shí)候,系統(tǒng)將顯示文件/etc/ftpd/welcome.msg的內(nèi)容。
5)格式:compress [yes/no] [類別]
功能:設(shè)置哪一個(gè)類別的用戶可以使用compress(壓縮)功能。
實(shí)例:compress yes local remote:允許local和remote兩個(gè)類別的用戶都能使用 compress(壓縮)功能。
6)格式:tar [yes/no] [類別]
功能:設(shè)置哪一個(gè)類別的用戶可以使用tar(歸檔)功能。
實(shí)例:tar yes local remote:允許local和remote兩類的用戶都能使用tar功能。
7)格式:private [yes/no]
功能:設(shè)定是否支持群組對(duì)文件的取用。
實(shí)例:private yes:支持群組對(duì)文件的取用。
8)格式:passwd-check [none/trivial/rfc822] [enforce/warn]
功能:設(shè)定對(duì)匿名用戶anonymous的密碼使用方式。
none 表示不做密碼驗(yàn)證,任何密碼都可以登錄;
trival 表示只要輸入的密碼中含有字符“@”就可以登錄;
rfc822 表示密碼一定要符合RFC822中所規(guī)定的E-Mail格式才能登錄;
enfore 表示輸入的密碼不符合以上指定的格式就不讓登錄;
warn 表示密碼不符合規(guī)定時(shí)只出現(xiàn)警告信息,仍然能夠登錄。
實(shí)例:passwd-check rfc822 warn:希望能夠得到符合規(guī)定的E-Mail作為密碼,但如果不是,也允許登錄。
9)格式:log command [real/guest/anonymous]
功能:設(shè)置哪些用戶登錄后的操作記錄在文件/usr/adm/xferlog中。
實(shí)例:log command real:當(dāng)real用戶登錄后,將他的操作記錄下來。由于其它用戶權(quán)限較低,所以操作不會(huì)引起太大的安全隱患,所以一般只需記下real用戶的操作就可以了。
相關(guān)文章
FTP 服務(wù)器關(guān)于權(quán)限的問題
很多網(wǎng)站、論壇允許用戶的上傳權(quán)限,但這個(gè)權(quán)限在允許斷點(diǎn)再傳的ftp服務(wù)器中,可以導(dǎo)致很大的問題出來。2009-06-06內(nèi)網(wǎng)搭建SFTP服務(wù)器的圖文教程
這篇文章主要為大家學(xué)習(xí)介紹了如何實(shí)現(xiàn)內(nèi)網(wǎng)搭建SFTP服務(wù)器的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以了解下2023-08-08IIS本地FTP服務(wù)器搭建的實(shí)現(xiàn)方法
本文主要介紹了IIS本地FTP服務(wù)器搭建的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Serv-U占用IIS的80端口造成沖突導(dǎo)致iis無法運(yùn)行的解決方法(serv_u6-8版本)
今天有朋友反映我負(fù)責(zé)維護(hù)的一臺(tái)服務(wù)器的iis無法運(yùn)行了,原來是因?yàn)閟erv_u占用了iis的80端口。2011-10-10centos8系統(tǒng)ftp服務(wù)器安裝及被動(dòng)模式配置詳細(xì)教程
在傳輸?shù)倪^程中,無論是被動(dòng)模式,還是主動(dòng)模式,都是【客戶端】和【服務(wù)器端的21端口】交換用戶名密碼等相關(guān)信息并確認(rèn)使用什么模式傳輸。接下來通過本文給大家介紹centos8系統(tǒng)ftp服務(wù)器安裝教程,感興趣的朋友一起看看吧2021-08-08Serv-U ftp服務(wù)器 Server 設(shè)置詳細(xì)說明
目前大多數(shù)服務(wù)器使用Serv-U Server 為FTP SYSTEM。這里同時(shí)建議使用此軟件。2011-03-03Windows 2008 R2 IIS7.5配置FTP圖文教程
這篇文章主要介紹了Windows 2008 R2 IIS7.5配置FTP圖文教程,本文詳細(xì)的給出了步驟,并給每一步配有圖片,需要的朋友可以參考下2014-11-11