Redhat Linux 7.3 預設的 ftp 服務是採用 wu-ftpd,雖然 wu-ftpd 在效能上,一直有不錯的表現,程式版本更新的速度也不慢,不過,它卻不是一個夠安全的系統。ProFtpd 的發展,一開始便是定位在成為一個安全且容易設定的 ftp 伺服器程式,它的風格及表現,深得許多網管人員的喜愛。如果您想找一個不錯的 ftp 伺服程式來取代 wu-ftpd,試試 ProFtpd 吧…
安裝 ProFTP 套件程式
移除 wu-ftpd 及 anonftp:
apt-get remove anonftp
apt-get remove wu-ftpd
使用 Apt 安裝 ProFtp:
相關程式與設定檔
/etc/proftpd.conf: ProFTP 的設定檔。
/etc/ftpuser: 設定不可用 FTP 登入的使用者 id,加入在該檔內的 id 將會被拒絕登入。
/usr/sbin/ftpshut: 關閉 FTP 服務。關閉後,在 /etc 下會產生一個名稱為 「shutmsg」 的檔案,把它刪除即可恢復啟動狀態。
/usr/bin/ftpcount: 查看目前連線數量。
/usr/bin/ftpwho: 查看目前的連線者。
ProFTP 的設定檔參數
ServerName: 設定登入 FTP 主機要顯示的名稱。
ServerName "Welcome to My FTP Server"
ServerType: 設定啟動型態。standalone | inetd
DefaultServer: 設定未知的連線是否由預設的主機來處理。
Port: 設定啟動時要監聽哪個 port。
umask: 設定建立檔案目錄時,使用的權限遮罩(」022″ 代表 755)。
MaxInstances: 指定當啟動型態為 「standalone」 時,最多允許多少程序啟動。
User/Group: 設定啟動時的身份與群組。
AllowOverwrite: 設定是否可以覆寫檔案(預設是 off,可以適用於整體設定與目錄區段設定)。
ServerIdent: 是否於使用者登入時顯示伺服器的類型。
DefaultRoot: 指定特定使用者登入後的根目錄。
DefaultRoot /var/www webmaster
設定每個使用者登入後的根目錄(」!」 後為排除的使用者)。
DefaultRoot /var/ftp !admin
限制每個使用者都登入在自己的家目錄(」!」 後為排除的使用者)
AllowStoreRestart: 允許上傳續傳。
DisplayLogin: 設定登入伺服器時,要顯示的內容(僅適用於 anonymous 與 VirtualHost)。
DisplayFirstChdir: 設定切換目錄時要顯示的內容(僅適用於 anonymous 與 VirtualHost)。
DisplayFirstChdir .message
DisplayQuit: 設定結束連線時要顯示的內容(僅適用於 anonymous 與 VirtualHost)。
MaxClients: 設定伺服器最多允許多少個使用者(不同IP)登入,後面為超過數量時顯示的訊息。
MaxClients 5 "Sorry, max %m users -- try again later"
MaxClientsPerHost: 設定同一個 IP 的使用者最多能登入幾個程序。
MaxLoginAttempts: 設定使用者嘗試登入失敗後幾次斷線。
RateReadBPS: 限制每秒下載的速度(bytes)。
RateWriteBPS: 限制每秒上傳的速度(bytes)。
RequireValidShell: 檢查使用者的 shell 程式是否合法。
RootLogin: 設定是否可以使用 root 帳號登入。
TimeoutLogin: 指定連線後多久沒有登入就斷線(秒)。
TimeoutIdle: 設定登入主機後閒置多久就斷線(秒)。
TimeoutNoTransfer: 設定多久沒傳輸資料就斷線(秒)
UseHostsAllowFile: 指定允許連線的主機,指定檔案,其語法與 /etc/hosts.allow 一樣。
UseHostsDenyFile: 指定拒絕服務的連線主機,指定檔案,其語法與 /etc/hosts.deny 一樣。
存取權限設定
ProFTP 的權限控管可針對一般使用者及匿名登入的使用者…
匿名使用者的部分,是宣告在 ~ 區段內。
目錄存取權限設定,是宣告在 ~ 。
~ : 設定該目錄的存取動作,priv 的方式如下…
ALL (identical to READ WRITE DIRS)
CWD (Change Working Directory)
DELE (DELEte)
DIRS
LOGIN
MKD (MaKe Directory)
READ (RETR, STAT)
RETR (RETRieve)
RMD (ReMove Directory)
RNFR (ReName FRom)
RNTO (ReName TO)
STOR (STORe)
WRITE (also include MKD and RMD)
指定存取的權限…
Allow [from] all | none | host1[,host2,...]
Deny [from] all | none | host[,host,...]
AllowAll
DenyAll
AllowUser UserName
AllowGroup GroupName
DenyUser UserName
DenyGroup GroupName
Order allow,deny | deny,allow
使用範例
<Directory /path>
<Limit CWD>
Order Allow,Deny
Allow from 128.44.26.,128.44.26.
Allow From host.example.com
Deny from all
</Limit>
</Directory>
匿名區域開放上傳的設定範例
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 5
AnonRequirePassword off
RequireValidShell off
<Directory upload/>
<Limit STOR CWD MKD>
AllowAll
</Limit>
<Limit READ RMD DELE>
DenyAll
</Limit>
</Directory>
</Anonymous>
相關
在 CentOS 6.x 安裝 proftpd: yum -y remove vsftpd yum …
2011-12-22
在「Server」中
教你快速安裝 Redhat Linux 7.3… 特點及功能如下 使用單純的結構,以提供主流服務,系…
2003-06-12
在「Server」中
我的伺服器的時區設為「Asia/Taipei」(/etc/sysconfig/clock),但我用 …
2005-05-05
在「Server」中
謝謝博主~ 非常詳細的文章...收益匪淺!