Linux下Proftp1.2.4 的安裝設(shè)置_Ftp服務(wù)器教程
關(guān)于ProFtpd的安裝
以這個版本為例
proftpd-1.2.4.tar.gz
http://www.proftpd.org
安裝方法:
./configure --prefix=/usr/local --enable-shadow
make (如果是雙 CPU 建議采用 make -j3)
make install
或者簡單一點
./configure
make
make install
配置方法:
然后你可以發(fā)現(xiàn) ProFTPD 安裝在 /usr/local 下,"proftpd" 可以在/usr/local/sbin/
目錄下找到,配置文件 proftpd.conf 位于:/usr/local/etc/
編輯/usr/local/etc/proftpd.conf,找到“Group xxxxxx”
改為“Group nobody”
要鎖定用戶在自己的本身的目錄下,請在proftpd.conf文件里加上一句:
DefaultRoot~
Ftp服務(wù)器相關(guān)命令
1、ftpshut:關(guān)閉FTP服務(wù),并在/etc下生成文件shutmsg。要重新開放FTP服務(wù),把/etc/shutmsg刪除。
2、ftpcout:Ftp服務(wù)器在線人數(shù)信息顯示。
3、ftpwho:Ftp服務(wù)器在線人員名單。
幾個文件的功能及路徑
/usr/local/sbin/proftpd 執(zhí)行程序
/usr/local/etc/proftpd.conf 設(shè)置文件
/usr/local/var/proftpd.pid proftpd做為一個服務(wù)的ID號
設(shè)定proftpd.conf文件,起動服務(wù)
cd /etc/rc.d/rc3.d
ln -s /usr/local/sbin/proftpd S99proftpd
或者
修改/etc/rc.d/rc.local
加上下面這句
/usr/local/sbin/proftpd start
在proftpd環(huán)境下如何設(shè)定虛擬主機?
可以通過指令:VirtualHost來實現(xiàn),一個最簡單的例子:
<VirtualHost 192.168.2.35>
ServerName "virtual FTP server"
</VirtualHost>
若你僅僅希望通過匿名訪問某個虛擬主機,則使用如下! 的指令:
<VirtualHost 192.168.2.35>
Serv erName "virtual FTP server"
<Limit LOGIN>
DenyAll
</Limit>
<Anonymous /usr/local/private>
User private
Group private
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>
</VirtualHost>
這樣192.168.2.35的這臺主機則僅僅允許匿名登錄。
如果要求登陸訪問,可以這樣
<Anonymous /home/lixin/ftp> #需要登錄
User lixin
Group lixin
UserAlias publx lixin
AnonRequirePassword on
MaxClients 2
DisplayLogin welcome.msg
DisplayFirstChdir .message
<Limit LOGIN>
AllowGroup lixin
DenyAll
</Limit>
GroupOwner lixin
Umask 007
HideUser root
HideGroup root
</Anonymous>
你登錄的用戶名、密碼必須是linux注冊的用戶名、密碼,所要訪問的目錄的屬性也必須是用戶名有相應(yīng)權(quán)限的。目錄里當(dāng)然還要有東西
conf文件說明
/usr/local/etc/proftpd.conf
ServerName "ProFTPD Default Installation"
顧名思義這就是為自己的FTP Server命名啰!例如筆者將預(yù)設(shè)的名稱改為
ServerName 帕胡德檔案傳輸系統(tǒng)
ServerType standalone
ProFTPD 主要激活方式有兩種,分別是"standalone"與"inetd",前者必須手動來激活ProFTPD; 后者可以寫在/etc/inetd.conf里頭,每當(dāng)開機激活執(zhí)行檔的時候,就會激活所有/etc/inetd.conf里面的所有Daemon了。如果各位想讓自己的FTP服務(wù)成為Linux的主要服務(wù)的一部份,筆者建議各位使用inetd的方式,因此筆者是這么設(shè)定的:
ServerType inetd
此時,因為設(shè)定以inetd方式激活,必須在/etc/inetd.conf里頭加上一行:
ftp stream tcp nowait root /usr/local/sbin/in.proftpd in.proftpd
(段落之間記得用Tab鍵隔開喔!)
修改了/etc/inetd.conf之后記得養(yǎng)成習(xí)慣執(zhí)行
killall -HUP inetd
讓系統(tǒng)重新執(zhí)行inetd并且讀取更新過的/etc/inetd.conf檔。
DefaultServer on
如果ProFTPD是您預(yù)設(shè)的FTP Server,請設(shè)定為on。
Port 21
一般的FTP連接端口默認值是21,如果不是特別需要的話,請勿修改這個數(shù)字,但如果您之前已經(jīng)有跑其它的FTP Server(例如wu-ftpd),那么您可以修改這個Port值,這樣一來就可以同時跑兩個不同的FTP Server了。不過筆者不鼓勵這種方式,因此這個地方還是建議各位保留21這個Port。
Umask 022
Umask是用來設(shè)定當(dāng)使用者新增加一個資料夾或檔案的時候它的檔案權(quán)限,為了預(yù)防使用者所新增的資料夾變成任何人都能寫入的資料夾,預(yù)設(shè)的Umast值是022,也就是說除了本人之外,同一個group或是其它使用者都無法做寫入該資料夾的動作。
MaxInstances 30
這是預(yù)防有些有心的cracker利用類似DoS之類的程序來攻擊系統(tǒng),造成大量的child process導(dǎo)致癱瘓整個service,因此將最多的child process設(shè)為30。需要注意的是這個設(shè)定僅對standalone的執(zhí)行方式有效,如果各位在前面跟筆者一樣使用inetd的話,各位可能必須利用 xinetd這套軟件來限制child process的數(shù)目了。
User nobody
Group nobody
這里設(shè)定FTP Server執(zhí)行時的身份,一般是設(shè)定為nobody。
<Directory /*>
AllowOverwrite on
</Directory>
一般說來,我們都希望檔案都能夠覆寫上去,因此這里我們設(shè)定為"on"。眼尖的讀者是否已經(jīng)發(fā)現(xiàn)ProFTPD設(shè)定檔的設(shè)定格式跟Apache Web Server設(shè)定格式很像呢?甚至有點html卷標(biāo)(tag)的味道呢!沒錯!這正是ProFTPD主要特色之一喔!
<Anonymous ~ftp>
User ftp
Group ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
- 相關(guān)鏈接:
- 教程說明:
Ftp服務(wù)器教程-Linux下Proftp1.2.4 的安裝設(shè)置。