Linux 版 (精华区)

发信人: don (逍遥物外·造极登峰), 信区: Linux
标  题: FTP服務器的配置 
发信站: 哈工大紫丁香 (2000年10月23日20:47:02 星期一), 站内信件

FTP服務器的配置 

在典型的UNIX系統中都有很多的服務在運行。而且沒一個服務都以進程的方式運行
,例如:FTP、Telnet等。這些進程的啟動腳本都在/etc/rc.d中。但是由于每一個
進程的的服務過程,都差不多,如:創建一個套接口,綁定一個眾周所知的端口,
等待TCP或UDP數据報,當受到一個連接時,就fork一個子進程,子進程為當前的客
戶服務,父進程仍然在等待其他的客戶的連接。從上面的分析我們可以看到,這些
進程在進行者一种重复性工作,因此FREE BSD4.3版本就提供了一個Inetd的超級服
務進程,該進程是使這些服務得到了簡化,將一些重复性的工作,都由inetd來代
替。當inetd進程啟動后,就一直偵听TCP和UDP端口,只要有客戶請求連接,
inetd就啟動相應的服務程序,當用戶取消連接時,inetd就自動地將該進程kill掉
。這樣听起來,好象很适合我們的一些低檔的机器的運行一個internet站點,的确
是這樣的。

講了這么多,你肯定會問,怎樣配置inetd呢?

其實很簡單,它的配置文件就是/etc/inetd.conf,唉!!有涉及到配置文件的語
法了,對在linux下的确很多東西都需要直接編輯它的配置文件,但是inetd.conf
的語法很簡單,如下面的例子:

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd 每l 每a

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

該文件的一般格式為:

service socket_type proto flags user server_path server_args

各個字段的解釋如下:(參考NET-3.HOWTO)

service:

所請求的服務与/etc/services的文件內容一致;

socket_type:

該字段描述了套接字的類型,他所允許的值有:stream,dgram,raw,rdm或
seqpacket。一般而言,与tcp有關的用stream(數据流),与udp有關的用dgram(
數据報),一般很少用其他的類型。

Proto:

這個端口有效的協議,与/etc/services文件的內容一致。

Flags:

這個字段有兩种可能的設置:nowait/wait。該設置告訴inetd,是否在啟動了的套
接字之后釋放該套接字,這樣就可以讓inetd是否在啟動另一個客戶請求是等待還
是繼續,一般來說:tcp的設置為nowait,unp的設置為wait。

User:

這個用戶名必須在/etc/passwd中存在,這主要是告訴系統誰是該服務的所有者,
為了安全問題,可以設置為nobody,但是一般的設置為root,這主要是因為,許多
服務程序需要root的權限來正确的啟動該程序。

Server_path:

這個字段為了提供該服務程序的名稱(包括路徑名)。

Server_flags:

該字段包括了所有剩下的所有行和選項,你可以放置任何命令參數,以告訴服務模
塊做怎樣的服務。

下面我們介紹一下FTP服務器的安裝和設置:

我們需要的軟件包:inetd超級服務程序在netkit-base.rpm軟件包中,還有,
Redhat6.0中的默認安裝的FTP服務程序為wu-ftpd,所需要的軟件包為wu-ftpd.
rpm,如果你還想讓你的网站,有一個匿名ftp服務的功能,你還可以安裝
anonftp.rpm軟件包。

安裝過程的命令如下:

rpm 每iv netkit-base.rpm

rpm 每iv wu-ftpd.rpm

rpm 每iv anonftp.rpm

安裝完畢之后再看看,你的/etc/inetd.conf文件的設置,因該將下列一行去掉注
釋:

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd 每l 每a

該ftp服務器的配置文件如下:

/etc/ftpaccess

/etc/ftpgroups

/etc/ftpusers

/etc/ftphosts

其中/etc/ftpaccess是最重要的文件,該文件的詳細的配置命令你可以通過man來
詳細閱讀。由于內容太多這里不再說明。J

下面介紹一下in.ftpd后的參數:

-d/v: 將ftpd的bugs寫入syslog中;

-l 記錄用戶的訪問日志;

-a 再ftpd啟動時讀取/etc/ftpaccess文件;

-A 再ftpd啟動時不讀取/etc/ftpaccess文件;

-L 將命令行中的信息登記到系統日志中,該選項被ftpaccess文件重載;

-i 將信息登記到xferlog中;

-W 將用戶的登錄信息登記到wtmp中;

-s ftpd將作為一個獨立的服務器運行,想在BSD4.3版本之前的運行方式;

參考:

NET3-HOWTO 

Man ftpaccess 

Man ftpd 

FAQ: http://www.hvu.nl/~koos/wu-ftpd-faq.html或http://member.zz.ha.
cn/~lyndon/cai/wu-ftpd.html 

http://www.landfield.com/wu-ftpd/ 

 

------------------------------------------------------------------------
--------


Copyright ?Chinese International Net ONline(CINON)  

--
一条驿路,一种氛围。
一朵梨花,一种思考。
希望能在Linux这条驿路上与你同行!

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: PR-AI.hit.edu.cn]
※ 修改:·don 於 10月23日20:47:31 修改本文·[FROM: PR-AI.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.691毫秒