歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

LINUX學習筆記--FTP服務器設置篇

前言: 半個月前開始學習REDHAT LINUX7.0。作為一個 Linux 新手,不可避免的遇上了一些問題,通過翻閱書籍資料,查看BBS,自己的摸索實踐,也解決了一些問題。想到自己的經驗教訓可供他人借鑒,於是大膽寫出來,一來可以當作學習筆記保存,二來希望對剛剛接  前言:

  半個月前開始學習REDHAT LINUX7.0。作為一個Linux新手,不可避免的遇上了一些問題,通過翻閱書籍資料,查看BBS,自己的摸索實踐,也解決了一些問題。想到自己的經驗教訓可供他人借鑒,於是大膽寫出來,一來可以當作學習筆記保存,二來希望對剛剛接觸Linux的朋友有所幫助。由於本人能力所限,筆記中有所疏漏不足也在所難免,還請各位高手海涵。

一、FTP簡介

  在網絡應用中,最廣泛的當屬WWW和FTP這兩種。FTP就是File Transport Protocol文件傳輸協議的縮寫,FTP服務器能夠在網絡上提供文件傳輸服務。FTP服務器根據服務對象的不同可分為匿名服務器(Anonymous Ftp Server)和系統FTP服務器。前者是任何人都可以使用,後者就只能是在FTP服務器上有合法賬號的人才能使用。

二、ProFTPD簡介

  目前在UNIX和LINUX下常用的免費FTP服務器軟件主要是Wu-FTP和ProFTP這兩種。Wu-FTP廣泛應用在眾多的UnixLinux系統中,是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”登錄,看能否正常登錄。一般來說,都能夠登錄進去的。

  注意:直接運行“Proftpd”將使FTP服務以stand-alone模式啟動,該模式相對與dameon進程模式更具安全性,推薦使用。不過你可以把“Proftpd”加入到/etc/rc.d/rc.local裡,這樣電腦啟動完畢,Proftpd也就啟動了。
第二步:配置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

Copyright © Linux教程網 All Rights Reserved