為了實現Linux環境下的FTP伺服器配置,絕大多數的Linux發行套裝中都選用的是Washington University FTP(Wu-Ftpd),這是一個性能優秀的伺服器軟體,由於它具有眾多強大功能和超大的吞吐量,Internet上的FTP伺服器有60%以上採用了它。
安裝與運行
以下我們以RedHat Linux為例。
1、安裝
根據服務對象的不同,FTP服務可以分為兩類:一類是系統FTP伺服器,它只允許系統上的合法使用者使用;另一類是匿名FTP伺服器,它允許任何人登入FTP伺服器,和伺服器連線後,在登入提示中輸入Anonymous,即可存取伺服器。針對這兩種服務,可以透過RedHat的第一張光碟安裝Wu-Ftpd的RPM包,只需以Root身份進入系統並執行下面的命令即可:
Rpm - ivh anonftp -xx-x.i386.rpm
Rpm - ivh wu-ftpd-xxx-x.i386.rpm
其中-xx-x和-xxx-x是版本號。
2、啟動
和Apache一樣,Wu-Ftpd也可以設定為自動啟動:執行RedHat附帶的Setup程序,在「System Service」選項中選取Wu-Ftpd,按下[OK]按鈕確定退出即可。
自動啟動固然方便,但是,當我們更改了Wu-Ftpd配置文件,需要用到手工啟動:
啟動:/usr/sbin/ftprestart
關閉:/usr/sbin/ftpshut
FTP伺服器的配置
為了確保FTP伺服器安全,必須設定一些重要的設定文件,以便更好地控制使用者的存取權限。這些設定檔是:/etc/ftpusers、/etc/ftpconversions、/etc/ftp-groups、/etc/ftpphosts、/etc/ftpaccess。利用這些文件,能夠非常精確地控制哪些人、在什麼時間、從什麼地點可以連接伺服器,並且可以對他們連接後所做的工作進行檢查追蹤。
/etc/ftpusers:此資料夾所包含的使用者無法透過FTP登入伺服器,有時會將需要禁止的使用者帳號寫入檔案/etc/ftpuser中,這樣就可以禁止某些使用者使用FTP服務。
/etc/ftpconversions:用來設定壓縮/解壓縮程式。
/etc/ftpgroups:建立使用者群組,這個群組中的成員預先定義可以存取FTP伺服器。
/etc/ftpphosts:用來根據禁止或允許遠端主機對特定帳戶的訪問,例如:
allow czc 192.168.0.0/24
deny cdd 10.0.0.0/8
表示允許czc用戶從192.168.0這個網段連線訪問,拒絕cdd從10.這個網段連線訪問。
/etc/ftpaccess:是非常重要的一個設定文件,用來控制存取權限,檔案中的每一行定義一個屬性,並對屬性的值進行設定。下面對它的一些常用配置做一點介紹:
1、定義使用者類別
格式:class [類別名稱] [real/guest/anonymous][IP位址]
功能:這個指令的功能設定FTP伺服器上使用者的類別。並可對客戶端的IP位址限制,允許特定或全部的IP位址存取FTP伺服器。
2、登入重試次數
在命令列中輸入:loginfails 10,這表示如果10次還沒有登入成功就切斷連線。
3、密碼檢查
格式:passwd-check 〈strictness〉 warn
是對匿名使用者的密碼使用方式的檢查,其中〈strictness〉是三個可能的字串之一:None、Trivial、RFC822。若選None,表示將不對口令做任何檢查;若選Trivial,表示對口令有一定的要求,它需要在口令中至少要有一個@符號;若選RFC822,則表示最嚴格,要求E-mail地址必須遵守RFC822報文標題標準(如:[email protected] )。
例如:passwd-check rfc822 warn,表示密碼的要求很嚴格,當密碼不符合規定時出現警告訊息。
4.登入人數的限制
格式:limit [類別] [人數] [時間] [檔案名稱]
設定指定類別在約定時間內可以登入FTP的人數。例如:limit remote Any/etc/many.msg,說明類別Remote類別在任何時間內登入人數不超過20個人,否則會顯示Many.msg警告訊息。
合理運用這些配置,可以有效保護我們的伺服器。
驗證
安裝、設定好FTP伺服器後,就可以進行驗證,用圖形工具和命令列均可存取FTP伺服器。在Linux裡最常用的指令為FTP,它提供了一個不複雜的FTP伺服器介面。與FTP伺服器連接,只需要在命令提示字元後面輸入:FTP Servername,以主機名稱或希望連接的FTP伺服器的IP位址取代Servername,依照指示輸入使用者名稱和口令,然後用標準的Linux上移或下移FTP伺服器目錄結構。另外,也可以採用圖形化FTP程序,包含視窗式gFTP,可以藉助網頁瀏覽器存取FTP伺服器。
以上就是在Linux下進行FTP伺服器設定的要點,希望對您有幫助。
/etc/ftpusers:此資料夾所包含的使用者無法透過FTP登入伺服器,有時會將需要禁止的使用者帳號寫入檔案/etc/ftpuser中,這樣就可以禁止某些使用者使用FTP服務。
/etc/ftpconversions:用來設定壓縮/解壓縮程式。
/etc/ftpgroups:建立使用者群組,這個群組中的成員預先定義可以存取FTP伺服器。
/etc/ftpphosts:用來根據禁止或允許遠端主機對特定帳戶的訪問,例如:
allow czc 192.168.0.0/24
deny cdd 10.0.0.0/8
表示允許czc用戶從192.168.0這個網段連線訪問,拒絕cdd從10.這個網段連線訪問。
/etc/ftpaccess:是非常重要的一個設定文件,用來控制存取權限,檔案中的每一行定義一個屬性,並對屬性的值進行設定。下面對它的一些常用配置做一點介紹:
1、定義使用者類別
格式:class [類別名稱] [real/guest/anonymous][IP位址]
功能:這個指令的功能設定FTP伺服器上使用者的類別。並可對客戶端的IP位址限制,允許特定或全部的IP位址存取FTP伺服器。
2、登入重試次數
在命令列中輸入:loginfails 10,這表示如果10次還沒有登入成功就切斷連線。
3、密碼檢查
格式:passwd-check 〈strictness〉 warn
是對匿名使用者的密碼使用方式的檢查,其中〈strictness〉是三個可能的字串之一:None、Trivial、RFC822。若選None,表示將不對口令做任何檢查;若選Trivial,表示對口令有一定的要求,它需要在口令中至少要有一個@符號;若選RFC822,則表示最嚴格,要求E-mail地址必須遵守RFC822報文標題標準(如:[email protected] )。