三、 配置FTP
FTP的配置文件共有六個:/etc/ftpusers; /etc/ftpgroups; /etc/ftphosts; /etc/ftpaccess; /etc/xferlog; /etc/ftpconversions。下面對這些文件做詳細的介紹。
1./etc/ftpusers
此文件就是一個列表,每一行指定一個特殊的用戶,缺省有14行。被列在此文件中的用戶將被禁止訪問FTP服務器。原因是這些用戶具有的特殊權限將威脅到FTP服務器的安全。
2./etc/ftpgroups
在這個文件中可以指定一個組,這個組的成員被預先定義可以對FTP服務器進行訪問。文件的格式一般為: #test : ENCRYPTED PASSWORD HERE : archive
訪問組名:加密口令 :訪問組名在/etc/groups中的對應組名
這裡采用的加密程序是CRYPT。
3./etc/ftpaccess
/etc/ftpaccess文件是控制那些用戶可以訪問服務器的主要配置文件,文件中的每一行對一個屬性進行定義,或者定義屬性的值。下面對文件中常用的命令進行講解。
(1) class
class [ … …]
用來定義可以訪問FTP服務器的一類用戶。其中classname是被定義的類名,typelist是被允許進入這一類的用戶類型,addrglob是被允許進入這一類的IP地址的范圍。其中的typelist是一個由逗號隔開的列表,可能的值有三個:anonymous、guest和real,其分別是anonymous意味著只訪問服務器上的公共文件,guest是來賓帳號,real是在FTP服務器上有自己的帳號的用戶。Addrglob如果是*,則代表所有的站點。
(2) deny
此命令可以根據主機名或IP地址來決定是否對他們提供服務。其格式為:
deny
其中addrglob表示被拒絕提供服務的地址,message_file則指定了一個文件,當一台主機被拒絕提供服務時,將向該主機顯示此文件。
此命令還可以根據主機名是否能通過DNS反向解析來決定是否提供服務,用!nameserved作為addrglob的內容即可。
(3) loginfails
此命令用來決定讓客戶機進行多少次注冊嘗試,缺省是5。
(4) email
此命令用來指定一個管理員的E-mail地址,缺省時是root@localhost。
(5) message
此命令決定了當用戶進入系統或某一特定目錄時,發送什麼消息給用戶。其格式如下:
message { … …}
其中path是路徑名,when是顯示消息的條件,可以有兩個值,一個是LOGIN(用戶一注冊成功就顯示指定的消息),另一個是CWD=< dir>(當用戶進入< dir>時顯示指定的消息)。Class則是本命令所適用的類,此項是可選的。
本命令可以重復使用。
(6) readme
此命令指定了一個條件,在這一條件下,通知用戶當前目錄下的一指定文件被最後更改。其格式為:
readme { }
其各項的意義與message命令類似。當用戶為匿名用戶時,文件必須查對於用戶的FTP目錄。
(7) log transfers
此命令可以記錄用戶的所有文件傳輸。其格式為:
log transfers
其中typelist是一個指定哪種用戶將被記錄的列表(anonymous、guest或real),directions是一個指定哪種方向的傳輸將被記錄的列表。記錄的結果存放在/var/log/xferlog文件中。
(8) compress
compress是在FTP服務程序中提供的一個允許服務器對文件進行壓縮或解壓的工具。其格式為:
compress
其中switch的值(yes or no)決定了是否打開這一特性,classglob指定了這一壓縮選項所適用的類。
(9) tar
此命令用來通知服務器是否為用戶打開文件。其格式如下:
tar
其各項的意義與compress類似。
注意:以上兩個特性由/etc/ftpconversions文件控制,參見/etc/ftpconversions文件。
(10) shutdown
此命令使服務器定期檢查一個指定的文件以確定服務器是否被關閉,被指定的文件對於root應該是可讀的。其格式為:
shutdown
*附:被指定的文件格式為
< day>
其中year必須是1970年之後;month 是用0至11代表1月到12 月;day是從0到30; hour是從0到23; minute是從0到59; deny_offset項用來指定服務器停止接受新連接的時間, 前兩位是小時,後兩位是分鐘;disconnect_offset 指定了現存連接被斷開的時間,格式同上;text指定了將顯示給用戶的一個系統關閉警告。
(11) chmod
此命令決定了用戶可否改變服務器上的文件的權限。其格式為:
chmod
其中switch的值(yes or no)決定了是否打開這一特性,typelist指定了這一命令所影響的用戶類型(anonymous、guest或real)。
(12) delete
此命令通知服務器用戶是否能通過FTP刪除位於服務器上的文件。其格式為:
delete
其中各項的意義同上。
(13) overwrite
此命令決定了FTP用戶是否可以進行上載操作來替換服務器上現有的文件。其格式為:
overwrite
其中各項的意義同上。
(14) rename
此命令決定了FTP用戶是否可以來對服務器上的文件進行改名操作。其格式為:
rename
其中各項的意義同上。
(15) passwd-check
passwd-check命令可用來確定如何要求作為匿名用戶的e-mail地址被提義交的字符串。這一命令的格式是:
passwd-check
其中的值有三個:none(不檢查口令) 、trivial(要求口令中至少有一個@符號)或rfc822(要求e-mail地址必須遵守RFC822報文標題標准);的值有兩個:warn(如果用戶沒按strichness的要求提供口令,就發警告,但允許連接)和enforce((如果用戶沒按strichness的要求提供口令,就拒絕連接)。