proFTP服務器設置
發表于:2007-06-13來源:作者:點擊數:
標簽:
一、FTP簡介 在網絡應用中,最廣泛的當屬WWW和FTP這兩種。FTP就是File Transport Protocol文件傳輸協議的縮寫,FTP 服務器 能夠在網絡上提供文件傳輸服務。FTP服務器根據服務對象的不同可分為匿名服務器(Anonymous Ftp Server)和系統FTP服務器。前者是任何
一、FTP簡介
在網絡應用中,最廣泛的當屬WWW和FTP這兩種。FTP就是File Transport Protocol文件傳輸協議的縮寫,FTP服務器能夠在網絡上提供文件傳輸服務。FTP服務器根據服務對象的不同可分為匿名服務器(Anonymous Ftp Server)和系統FTP服務器。前者是任何人都可以使用,后者就只能是在FTP服務器上有合法賬號的人才能使用。
二、ProFTPD簡介
目前在UNIX和LINUX下常用的免費FTP服務器軟件主要是Wu-FTP和ProFTP這兩種。Wu-FTP廣泛應用在眾多的Unix和Linux系統中,是RedHat Linux默認的FTP服務器軟件,但是被發現安全漏洞也相當多。ProFTP正是針對Wu-FTP的弱項而開發的,除了改進的安全性,還具備許多Wu-FTP沒有的特點,如設置簡單,能以Stand-alone模式運行等等。ProFTP已經成為繼Wu-FTP之后最為流行的FTP服務器軟件,越來越多的站點選用它構筑安全高效的FTP站點,TurboLinux就是一個例子。
三、ProFTP的設置
設置目標:把IP為10.0.8.39的RedHat Linux配置為FTP服務器,并允許以anonymous匿名訪問FTP服務器,且只允許同一網段(10.0.8.*)的電腦對FTP的“incoming”目錄有“Write”權限。
ProFTP的最新版本可以從www.proftpd.org上下載。這里我們以穩定的1.2.1版本的rpm安裝包為例子(源代碼編譯也很簡單)加以解說。
第一步:配置基本的匿名服務器
下載1.2.1的rpm后,在Gnome窗口下右鍵單擊文件,單擊“Show info”,查看rpm包的一些信息,這里我們要注意的是一些文件的默認安裝路徑,如/usr/local/etc/proftpd.conf(ProFTPD的配置文件),/usr/sbin/proftpd(以stand-alone模式運行Proftpd的命令),/usr/doc/proftpd-1.2.1(Proftpd的文檔及配置實例文件所在目錄),然后雙擊rpm包安裝軟件。
如果你像我一樣,安裝RedHat Linux7.0時選擇了FTP服務,那你先得把安裝的Wu-FTP軟件刪除。輸入“rpm -e anonftp”和“rpm -e wu-ftpd”刪除已有的FTP服務。
ProFTP安裝結束后,編輯/usr/local/etc/proftpd.conf,找到“Group nobody”,改為“Group nobody”,因為RedHat Linux7.0中沒有“nobody”這個組。到此為止,一個提供匿名服務的FTP服務器已經可以運行了。輸入“proftpd”運行FTP服務,然后“ftp 10.0.8.39”以“anonymous”登錄,看能否正常登錄。一般來說,都能夠登錄進去的。
第二步:配置incoming子目錄的權限打開proftpd.conf,在和段之間添加如下設置:
Order allow,deny
Allow from 10.0.8.
Deny from all
表示在incoming這個子目錄下,從10.0.8這個網段登錄的客戶端有寫入“WRITE”權限,其它人對該目錄的寫如權限都是被禁止的。如果要對所有的用戶開放寫入權限,只要把
和之間的內容換成“Allowall“。
四、FTP服務器相關命令1、ftpshut:關閉FTP服務,并在/etc下生成文件shutmsg。要重新開放FTP服務,把/etc/shutmsg刪除。
2、ftpcout:FTP服務器在線人數信息顯示。
3、ftpwho:FTP服務器在線人員名單。
附錄:Proftpd.conf全文及解釋# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "MY REDHAT LINUX FTP"
#
設定FTP服務器的名稱ServerType standalone #
設置FTP以Standalone模式運行,而不是以dameon模式DefaultServer on #
默認FTP服務器工作# Port 21 is the standard FTP port.
Port 21 #
FTP服務默認占用的端口# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022 #
默認RequireValidShell off #
保證匿名用戶正常登錄,不要更改ServerIdent off #
不顯示ftp服務器版本信息,以增強安全性# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in
.netd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody #
設置FTP服務以nobody運行 Group nobody #
注意:原來是“Group nobody”,一定要改為“Group nobody”# Normally, we want files to be overwriteable.
AllowOverwrite on
# A basic anonymous configuration, no upload directories.下面一段就是匿名服務的設置。
User ftp #
匿名登錄使用ftp用戶Group ftp #
匿名登錄使用ftp組# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous guest #
給ftp用戶anonymous的別名,使得anonymous登錄就是ftp用戶登錄。# Limit the maximum number of anonymous logins
MaxClients 10 #
最多10個匿名用戶同時在線
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg #
登錄FTP顯示的歡迎信息。放在FTP的根目錄下。DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
#說明看正文。
Order allow,deny
Allow from 10.0.8.
Deny from all