☆梁德銘
(龍巖第一中學,福建龍巖 364000)
FTP(File Transfer Protocol)服務作為校園網(wǎng)絡的主要服務之一,為師生教育教學資源共享發(fā)揮著重要作用。Serv-U是一款由RhinoSoft.com開發(fā)的 FTP服務器軟件,它功能強大又易于使用。Serv-U不僅100%遵從通用FTP標準,也包括眾多的獨特功能可為每個用戶提供文件共享完美解決方案。本文以 Serv-U V6..4.0.6 中文版為平臺,介紹如何合理組合軟件提供的各種技術來搭建校園FTP服務。
校園FTP服務與一般的FTP服務相比,有著更特殊的需求,需要更為復雜的文件共享解決方案,其需求體現(xiàn)在:
(1)職工、學生、年級(屆別)、學科及學校等(以下統(tǒng)稱為用戶)需要不同的文件夾用于存放自己的共享資源,以利于資源分類和管理。
(2)一個用戶同時身兼多個角色。例如用戶張三是一名2010屆語文學科老師,同時又是2010屆的年級主任,那么他需要有語文學科文件夾、2010屆文件夾、私人文件夾及學校辦公文件夾的訪問權限及某些文件夾的編輯權限。
(3)不同用戶應給與不同的磁盤配額,不然再大的磁盤空間都會有被擠滿的一天。
(4)為保證用戶私人資源的私密性,必須把用戶鎖定在主目錄,即用戶登錄后的訪問范圍只能限定在自己的私人文件夾。
根據(jù)以上特點,作者利用Serv-U的卓越性能,經(jīng)過一番摸索得到一個完美的解決方案。
選擇一個空間足夠大的非系統(tǒng)盤,新建一個名為“FTP”的文件夾(以下文件夾新建操作都在此文件夾下進行)。新建一個名為“學校公共”的文件夾,用于存放所有人可訪問的資源。新建一個名為“學校辦公”的文件夾,用于存放所有教工可訪問的資源。按不同年級分別新建以屆別命名的文件夾,用于存放自己年級的資源。按不同學科分別新建以學科名稱命名的文件夾,用于存放自己學科的資源。分別新建以每個教工名字命名的文件夾,用于存放教工自己的私人資源。
軟件安裝很容易,不再贅述,只是在選擇安裝路徑時建議不要安裝到系統(tǒng)盤,這樣做的好處是一旦系統(tǒng)盤崩潰重裝后,只要把原Serv-U的配置文件(ServUAdmin.ini和ServUDaemon.ini) 覆蓋到新安裝的Serv-U目錄下即可立即使用。
首次運行Serv-U將提示進行一些基本配置。在提示是否把Serv-U作為系統(tǒng)服務允許時選擇是;在ip地址輸入框中輸入本機的ip地址,如果不填,默認為本機所有ip地址;在域名輸入框中輸入域名,沒有的話可以隨便輸入一個名字,例如“ftptest”;在是否創(chuàng)建匿名訪問用戶時,選擇是:訪問目錄設為“學校公共”文件夾,采用默認權限,選擇鎖定匿名用戶于主目錄。
在本方案中,匿名訪問用戶Anonymous用于實現(xiàn)學校公共資源的共享,任何人通過地址“ftp://域名”,選擇匿名訪問即可訪問“學校公共”文件夾下的內(nèi)容,滿足社會和學生的訪問需求。非學校公共資源通過給具體的用戶賬號授權的方式訪問,每個用戶賬號對應一名教職工。下面將介紹用戶賬號的創(chuàng)建:
圖1 創(chuàng)建用戶賬號
(1)創(chuàng)建用戶賬號(如圖1)。以建立張三的賬號為例,在左窗格“用戶”上右擊,選擇“新建用戶”,依次設定用戶名稱為ZS、密碼為123、主目錄指向名為“張三”的文件夾、鎖定用戶于主目錄,就完成了用戶的創(chuàng)建。
(2)配置用戶賬號(如圖1)。以建立張三的賬號為例,在左窗格中左擊要配置的用戶ZS,在右窗格的“目錄訪問”標簽中,勾選除“執(zhí)行”外的全部權限,在“配額”標簽中勾選“啟用磁盤配額”選項,設定最大磁盤空間為1024MB。
接著按上面的步驟逐個建立其他教職工的用戶賬號,至此我們實現(xiàn)了前述校園FTP服務需求分析的第1、第3及第4點。
那么如何實現(xiàn)需求分析中的第2點呢?有讀者可能會想,我在張三的“目錄訪問”中再添加對“學校辦公”、“語文”及“2010屆”文件夾的訪問權限不就解決了。事實上這種解決方案會與需求分析中的第3、第4點沖突,因為新增的三個文件夾所占磁盤空間會一并計入到我們設定的最大1024MB中來,這樣張三就無法真正享有1024MB的磁盤空間,同時我們鎖定了用戶只能訪問其主目錄(私人文件夾),用戶登錄到FTP后,無法看到這三個新增的文件夾。要實現(xiàn)需求分析中的4點互不沖突,我們必須使用Serv-U提供的“虛擬路徑映射”技術。
什么是虛擬路徑映射呢?簡而言之,虛擬路徑映射就是把用戶主目錄之外文件夾映射到某個文件夾下,作為這個文件夾的一個子文件夾。這是解決前述幾個貌似相互矛盾的需求的關鍵技術。
圖2 創(chuàng)建虛擬路徑
我們對需要被用戶公共訪問的文件夾(即各年級文件夾、各學科文件夾、學校辦公)都進行虛擬路徑映射。方法如下:
(1)創(chuàng)建虛擬路徑映射(如圖2)。以創(chuàng)建“語文”文件夾的虛擬路徑映射為例,選擇左窗格ftptest域中的“設置”,在右窗格中選擇“虛擬路徑”標簽,點擊“虛擬路徑映射”中的“添加”按鈕。在彈出的創(chuàng)建向導中,第一步是設置物理路徑,即對哪個文件夾進行映射,我們選擇“語文”文件夾;第二步是設置映射物理路徑到什么位置,因為“語文”文件夾需要被所有語文老師訪問,所以我們設置為“%home%”,表示映射到應用了該虛擬路徑的用戶主目錄下;第三部是設置映射的路徑名稱,即被映射文件夾呈現(xiàn)給用戶時的別名,我們在此設為“語文學科公共文件夾”。重復此步驟,逐個建立其他需要被公共訪問的文件夾。
(2)應用虛擬路徑到用戶。根據(jù)需求分析,以用戶張三為例,我們需要把“學校辦公”、“2010屆”、“語文”這三個文件夾映射到張三的主目錄下,作為其主目錄下的子文件夾。如圖1所示,選擇用戶ZS,在其“目錄訪問”標簽中依次添加張三需要的三個文件夾并根據(jù)需要設定每個文件夾的訪問權限。應用后的登錄效果如圖3。
圖3 應用虛擬路徑后登錄效果
至此校園FTP服務的全部需求都得到滿足,但是把這些虛擬路徑逐個應用到需要的用戶,工作量非常大,并且在后續(xù)的維護如果需要改動權限,也需要逐個修改目錄訪問權限。所以在本方案中放棄應用虛擬路徑到用戶這種費時費力的方法,而是借助Serv-U的組策略把虛擬路徑應用到用戶組,把需要的用戶加入相應組的方法來實現(xiàn)。
如果若干用戶需要一組相同的權限,我們不必為每一個用戶單獨設置,只需要對組設置,然后把需要的用戶加入這個組即可,組內(nèi)的用戶繼承了組一切屬性。我們對需要被用戶公共訪問的文件夾(即各年級文件夾、各學科文件夾、學校辦公)建立相應的兩個用戶組,分別為訪問組和管理組。
(1)創(chuàng)建用戶組(如圖4)。在左窗格“組”上右擊,選擇“新建組”,輸入組名稱,如“語文訪問組”,就完成了用戶組的創(chuàng)建。按同樣的方法創(chuàng)建語文管理組。
(2)配置用戶組的訪問權限(如圖4)。選擇要配置的組,在右窗格的“目錄訪問”標簽中添加該組需要訪問的文件夾和對該文件夾的訪問權限。訪問組只給與“讀取”、“列表”、“繼承”權限,管理組給與除“執(zhí)行”外的全部權限。
圖4 配置組的訪問權限
重復上面兩個步驟,逐個建立其他需要被公共訪問文件夾的兩個用戶組。
(3)把用戶加入到相應組(如圖5)。在左窗格中選中要設置的用戶,在右窗格的“賬號”標簽中,點擊組選擇按鈕,選擇用戶需要加入的組即可。以用戶張三為例,我們選擇“2010屆管理組”、“語文訪問組”、“學校辦公訪問組”,用戶登錄后效果如圖3。
圖5 把用戶加入到組
利用Serv-U的虛擬路徑映射技術,我們解決了用戶被鎖定于主目錄后無法訪問主目錄之外公共文件夾的問題,同時保證了用戶磁盤配額不受公共文件夾的影響,其實虛擬路徑映射技術還可以解決磁盤空間不足的問題。利用用戶組技術實現(xiàn)了公共文件夾訪問的快捷部署與維護。軟件提供的技術本身是死的,在利用軟件實現(xiàn)某個需求的時候,我們要善于分析思考,多動手實驗,通過合理地組合軟件提供的各種技術,往往會有超出意料之外的完美解決方案。
[1]RhinoSoft.com.Serv-U 幫助[CP/DK].
[2]RhinoSoft.com.掛接虛擬目錄[EB/OL].http://www.serv-u.cn/tech_11.htm,2010-5-12.
[3]playingfly.Serv-U 的虛擬路徑[EB/OL].http://blog.chinaunix.net/u/484/showart_317871.htm,2007-06-08.