配置虛擬主機(jī)
1.給主機(jī)綁定多IP
wu-ftp的虛擬主機(jī)是建立在同一個主機(jī)、不同IP的基礎(chǔ)上,因此要在同一臺機(jī)器上配置多個IP地址。其中一個方法就是在一塊網(wǎng)卡上綁定多個IP地址。
如果機(jī)器上有一塊網(wǎng)卡,并且通過這個網(wǎng)卡來監(jiān)聽FTP的服務(wù)請求,我們就可以通過ifconfig命令來實現(xiàn)這個功能。
# ifconfig eth0:0 172.20.66.2 up
# ifconfig eth0:1 172.20.66.3 up |
我們設(shè)置兩個FTP虛擬主機(jī),因此就在網(wǎng)卡上綁定兩個IP地址。在Linux中,一個網(wǎng)卡理論上可以綁定16個IP地址。如果讀者不想通過命令來執(zhí)行,也可以自行改變/etc/sysconfig/networking中的配置文件,來達(dá)到同樣目的。
2.配置ftpservers文件
關(guān)于ftpservers文件上面已經(jīng)提到,在此例中可以用到以下的配置:
172.20.66.2 /etc/ftpaccess1
172.20.66.3 /etc/ftpaccess2 |
該文件給出了存放虛擬主機(jī)配置文件的路徑,在客戶端對FTP服務(wù)器發(fā)出請求的時候,服務(wù)器將客戶端請求的IP在該文件中進(jìn)行查找,看看是否有匹配的配置文件。如果有匹配的配置文件,就調(diào)用該IP地址對應(yīng)的目錄中的配置文件作為該客戶端的配置文件。如果沒有發(fā)現(xiàn)匹配項,就使用默認(rèn)的配置文件。在該文件中用IP地址或主機(jī)名都可以。如果用主機(jī)名,就需要/etc/hosts和DNS的支持,來進(jìn)行解析為最終的IP。由于在配置虛擬主機(jī)中,這個文件是可選的,用戶可以不用為每個虛擬主機(jī)都設(shè)置不同的配置文件,通過在主ftpaccess文件中做一些設(shè)置也可以達(dá)到相應(yīng)目的。我們就通過配置ftpaccess來實現(xiàn)虛擬主機(jī)的功能。
3.配置ftpaccess文件中的虛擬主機(jī)部分
虛擬服務(wù)器的ftpaccess配置文件與不提供虛擬服務(wù)器版本相比,增加了virtia、root、logfile等多個指令,這些都是在編譯源代碼的時候產(chǎn)生的。下面就這些參數(shù)進(jìn)行說明。
(1)virtual
virtual
上面各個參數(shù)設(shè)定了虛擬主機(jī)的各種基本配置,其中virtual參數(shù)前綴說明下面的參數(shù)是為了設(shè)定虛擬主機(jī)而設(shè)定的;address指定了虛擬主機(jī)的IP地址,這里應(yīng)該是172.20.66.2和172.20.66.3兩個IP。
下面的參數(shù)都是建立在virtual下面的子參數(shù):
◆ root 指定了該虛擬主機(jī)的ftp根目錄;
◆ banner 指定了該虛擬主機(jī)的系統(tǒng)提示信息;
◆ logfile 指定了該虛擬主機(jī)的日志文件所在的位置;
◆ hostname 指定了該虛擬主機(jī)的主機(jī)名稱;
◆ email 指定了該虛擬主機(jī)管理者的E-mail地址。
比如,在下例中指定了一個虛擬FTP服務(wù)器的配置情況:
# 虛擬主機(jī)的配置設(shè)定
virtual 172.20.66.2 root /var/ftp/virtual1
virtual 172.20.66.2 banner /var/ftp/virtual/1.msg
virtual 172.20.66.2 logfile /var/log/ftp/virtual/1xferlog
virtual 172.20.66.2 hostname 1
virtual 172.20.66.2 email admin@1
virtual 172.20.66.3 root /var/ftp/virtual2
virtual 172.20.66.3 banner /var/ftp/virtual/2.msg
virtual 172.20.66.3 logfile /var/log/ftp/virtual/2xferlog
virtual 172.20.66.3 hostname 2
virtual 172.20.66.3 email admin@2 |
(2)virtual
allow [ ...]
virtual
deny [ ...] |
上面這些參數(shù)設(shè)定虛擬主機(jī)的權(quán)限。其中allow和 deny都是virtual的子參數(shù),它們設(shè)定是否可以訪問虛擬主機(jī)的設(shè)置。一般情況下real和guest兩個class是用戶不允許訪問虛擬主機(jī),該兩個指示用來重新對允許和拒絕訪問的虛擬主機(jī)的用戶進(jìn)行定義,通過這些設(shè)置和ftpuser的搭配,可以更加細(xì)化服務(wù)器。
(3)defaultserver deny [ ...]
defaultserver allow [ ...]
defaultserver private |
上面這幾個參數(shù)設(shè)定了虛擬主機(jī)中訪問權(quán)限默認(rèn)值。請注意它們不是virtual的子參數(shù)。其中:
defaultserver private 指定了默認(rèn)的虛擬服務(wù)器是否拒絕anonymous用戶訪問 。
defaultserver deny 指定了默認(rèn)的虛擬服務(wù)器拒絕哪些用戶的訪問。
defaultserver allow 指定了默認(rèn)的虛擬服務(wù)器接受哪些用戶的訪問。
通過以上配置參數(shù),再結(jié)合FTP其它的配置文件,這樣一臺PC機(jī)就可以作為多臺FTP服務(wù)器使用。讀者可以針對自己的需求,結(jié)合其它的wu-ftp的配置說明,來定制個性化的FTP服務(wù)器了。