摘? 要:目前各類學校機房中使用最廣泛的操作系統(tǒng)是微軟的Windows系統(tǒng)。在機房的教學與考試中經(jīng)常需要創(chuàng)建共享,以便下載與上傳文件。由于Windows系統(tǒng)的連接數(shù)限制,多人訪問共享存在問題。通過對多種文件共享方式的對比和對共享的需求分析,利用C#、FTP、NTFS等技術開發(fā)了Windows共享系統(tǒng),實現(xiàn)了Windows環(huán)境下多人文件共享訪問,提供了精細的權限控制,解決了機房內(nèi)文件傳輸需求。
關鍵詞:FTP;NTFS權限;文件共享
Abstract:At present,the most widely used operating system in all kinds of school computer rooms is Microsofts Windows system. In the teaching and examination of the computer room,it is often necessary to create a share in order to download and upload files. Due to the limited number of connections in the Windows system,there is a problem with multi-person access sharing. Through the comparison of various file sharing methods and the analysis of the sharing requirements,the Windows sharing system is developed by using C#,F(xiàn)TP,NTFS and other technologies. It realizes the multi-person file sharing access under Windows,provides fine permission control,and solves the file transmission requirements in the computer room.
Keywords:FTP;NTFS permission;file sharing
0? 引? 言
在教育部發(fā)布《教育信息化2.0行動計劃》,信息技術飛速發(fā)展背景下,各類學校更加重視信息化教學,在機房中進行教學的課程越來越多,充分利用數(shù)字資源、多媒體資源與實訓平臺等,以期取得更好的教學與實訓效果。在實際教學實施中,會遇到文件傳輸需求:如教學資料的下發(fā),課后作業(yè)的上交,未完成的作業(yè)下次課下載繼續(xù)完成,考試時作品、賬套、截圖的提交等等。以上需求可以具體總結為以下兩點:(1)需要簡便快捷的共享。最簡便常用的方式是使用Windows文件共享來在機房中傳輸文件。但由于Windows系統(tǒng)有連接數(shù)限制,Win XP及Win 7為10個,Win 10為20個。多人訪問局域網(wǎng)中的共享文件的時候,會遇到提示“達到連接數(shù)目限制”,進而無法訪問共享。(2)需要權限控制。學生對共享文件夾要有下載和上傳的權限,但特殊時候需要對上傳的權限加以限制,如考試時,學生有上交文件的權限,但不能刪除、打開、復制已經(jīng)上交的文件,防止作弊和惡意行為。
為了實現(xiàn)上述需求,目前實踐中一般采取的方法有以下幾種:(1)利用教學軟件收發(fā),此種方式收作業(yè)方便,但需要二次整理。下發(fā)作業(yè)很麻煩,無法方便做到作業(yè)和學生的對應下發(fā)。(2)利用Windows系統(tǒng)的共享功能來實現(xiàn),但是有連接數(shù)限制,遠滿足不了共享需求,且必須經(jīng)過精心設計的權限控制才能避免對已上交文件的下載、刪除。(3)機房內(nèi)搭建FTP,利用FTP下載、上傳功能來實現(xiàn)??梢越鉀Q連接數(shù)限制,但部署復雜,權限控制粒度粗糙,只有讀、寫兩種權限。雖可利用“用戶隔離”限制用戶的權限[1],但賬號密碼管理是十分龐大的工作,且上傳的文件分散到不同的文件夾中,不利于集中管理。
以上方法對于需求的解決均存在一定的不足。利用Windows系統(tǒng)自帶的FTP及NTFS權限相結合的方法,在Windows環(huán)境下快速地實現(xiàn)文件傳輸是一種可行的解決方案[2]。但具體操作過程步驟較多,過于專業(yè),在部署和改變需求時,需要完全理解每個設置的意義,才能有效地做好配置。這對于使用者來說非常不友好,甚至由于專業(yè)知識的欠缺,無法部署及應用。
作者依據(jù)FTP配合NTFS權限的方法思路進行了系統(tǒng)需求分析,詳細設計,程序編寫與功能測試,最終實現(xiàn)了程序自動化部署和應用,解決了機房內(nèi)文件收發(fā)及權限控制的需求,在江蘇聯(lián)合職業(yè)技術學院徐州財經(jīng)分院的機房內(nèi)實現(xiàn)了很好的應用。
1? 依賴技術介紹
1.1? FTP協(xié)議
FTP是TCP/IP協(xié)議組中的協(xié)議之一。FTP協(xié)議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端。主要功能用于實現(xiàn)用戶間文件分發(fā)共享,提供可靠和高效的數(shù)據(jù)傳輸。
1.2? NTFS權限
NTFS(New Technology File System)是Windows NT內(nèi)核的系列操作系統(tǒng)支持的、一個特別為網(wǎng)絡和磁盤配額、文件加密等管理安全特性設計的磁盤格式,并提供了若干附加擴展功能,如訪問控制列表(Access Control List,ACL)和文件系統(tǒng)日志。
NTFS權限是基于NTFS分區(qū)格式實現(xiàn)的,NTFS權限可以實現(xiàn)高度的本地安全性,通過對用戶或組賦予NTFS權限可以有效地控制用戶對文件和文件夾的訪問。分配了正確的訪問權限后,用戶才能訪問其資源,可防止資源被篡改、刪除。
NTFS分區(qū)的每一個文件和文件夾都有一個列表,稱為ACL,該列表記錄了每一用戶和組對該資源的訪問權限。
2? 系統(tǒng)整體設計框架
為了描述清楚,先統(tǒng)一兩個概念?!胺斩恕睘樾枰峁┕蚕砦募A服務的計算機,“客戶端”為需要訪問共享文件夾的計算機。
程序運行在服務端,客戶端僅在桌面上放置由服務端生成的兩個快捷方式“素材空間”和“學生空間”,分別指向服務端的對應文件夾,如圖1所示。
素材空間為存放素材文件用,設置對用戶只讀屬性??蛻舳藘H能查看、下載。學生空間:允許客戶端上傳,可讀寫刪除,或僅可上傳,禁止打開、復制、刪除文件。系統(tǒng)整體功能設計與運行流程如圖2、圖3所示。
3? 主要功能詳細設計與實現(xiàn)
3.1? 自動安裝IIS及FTP服務
程序運行后,需要先檢測是否安裝了IIS和FTP服務,通過遍歷注冊表“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Components”下的鍵值,匹配“FTPSvc”,如果不存在,則說明沒有安裝FTP服務。程序自動創(chuàng)進程,采用DISM命令來進行自動部署。DISM工具是Windows中可用的管理員級可執(zhí)行文件命令,可用于修復Windows映像或修改Windows安裝介質(zhì)。DISM采用“/Online/Enable-Feature/FeatureName:IIS-WebServer/FeatureName:IIS-WebServerRole/FeatureName:IIS-BasicAuthentication/FeatureName:IIS-FTPServer/FeatureName:IIS-FTPSvc”作為參數(shù)運行,安裝IIS和FTP。
3.2? 創(chuàng)建FTP用戶
首部署FTP站點的時候,同時檢測是否存在用于登錄FTP的用戶,如不存在,則利用C#中System.Directory Services
命名空間的DirectoryEntry對象利用Active Directory服務接口(ADSI)自動創(chuàng)建用戶。創(chuàng)建用戶需要注意的是賬戶的屬性“密碼永不過期”為真,避免一段時間后密碼失效無法登錄。
3.3? 自動部署FTP站點
通過建立FTP站點的方式來提供兩個共享空間。FTP的最大連接數(shù)為232-1,完全不存在連接數(shù)限制的問題。
3.3.1? IIS配置系統(tǒng)介紹
Internet信息服務(IIS)7和更高版本引入了全新的配置系統(tǒng),使用基于結構化的XML的配置系統(tǒng)來存儲IIS設置,該系統(tǒng)取代了IIS 6.0和更早版本中使用的配置數(shù)據(jù)庫。這個新的配置系統(tǒng)是ASP.NET引入的,它基于使用*.config文件的管理系統(tǒng)的分層系統(tǒng),多個文件在不同層級配置,可以幫助Web應用、站點、機器分別配置自己的擴展配置數(shù)據(jù)。IIS啟動的時候會加載配置文件中的配置信息,然后緩存這些信息。在運行過程中ASP.NET應用程序會監(jiān)視配置文件的變化情況,一旦編輯了這些配置信息,就會重新讀取這些配置信息并緩存。其配置文件的層級關系如圖4所示。在繼承層次結構方面,根文件是Machine.config,然后是同一目錄中的Web.config(稱為根Web.config),接著是ApplicationHost.config,最后是各站點中的可選Web.config文件。
使用IIS 7及更高版本時,ApplicationHost.config是配置系統(tǒng)的根文件,Administration.config與Redirection.config是用于IIS自身管理的配置文件,它們位于%WinDir%\System32\Inetsrv\Config文件夾中。圖4中各個配置文件的作用如表1所示。
在配置文件中,“節(jié)”為最小單元、以結構化方式來組織,這些節(jié)進一步分為與邏輯相關的集合,稱為“節(jié)組”。節(jié)組可以嵌套,但一個節(jié)始終僅屬于一個節(jié)組。以下為一個配置示例:
3.3.2? 利用配置文件創(chuàng)建FTP站點
對FTP站點的創(chuàng)建與管理,主要配置的內(nèi)容為:system. applicationHost/sites節(jié)組、
基于XML的配置系統(tǒng)大大方便了通過代碼的方式進行站點的部署與配置。C#中的Microsoft.Web.Administration.ServerManager類提供對配置系統(tǒng)的讀寫訪問,使用此類需要先引入Microsoft.Web.Administration.dll。ServerManager類可以訪問應用程序集合、網(wǎng)站集合、WorkerProcess集合、綁定對象和VirtualDirectory集合,其公開的屬性是只讀的,屬性返回的對象是具有讀取和寫入權限的。對配置對象所做的更新必須使用CommitChanges顯式寫入配置系統(tǒng),更新后IIS會自動讀取新配置并應用。
3.4? 共享與模式設置
共享的允許與禁止,通過ApplicationHost.config配置文件中
權限控制方面,素材空間較簡單,直接設置FTP站點權限為只讀即可。學生空間需要設置FTP權限為讀寫,更細粒度的訪問權限則要用相應文件夾的NTFS權限來控制。
NTFS權限是基于ACL的,一個ACL條目表示定義文件或目錄訪問規(guī)則的訪問控制項(ACE)[3,4],包含表3中的要素。
C#的System.Security.AccessControl命名空間提供了對安全對象的訪問權限以及審核、安全相關的操作。命名空間中的FileSystemSecurity類表示文件或目錄的訪問控制和審核安全,其派生了DirectorySecurity類和FileSecurity類,用于更方便的對目錄和文件的操作。
在服務端對“學生空間”文件夾進行NTFS權限設置的步驟如圖5所示,其中“用戶”指的是用于訪問FTP的用戶。
4? 生成快捷方式
服務端部署完成后,利用程序自動生成分別指向“素材空間”與“學生空間”的兩個快捷方式,使用FTP協(xié)議指向服務端站點,如圖6所示。并把它們發(fā)送到學生桌面上,學生只需雙擊桌面上的對應圖標即可訪問。生成的快捷方式地址可以為服務端的計算機名或計算機IP地址,兩者區(qū)別是使用IP地址的快捷方式打開要快一些,因為省去了名稱到IP地址的轉換。在服務端IP地址不會輕易改變的情況下,建議使用IP地址。
5? 軟件功能測試
生成系統(tǒng)小巧簡單,僅一個EXE程序,運行在Win 7及以上系統(tǒng),完全利用系統(tǒng)自帶的功能與環(huán)境,無須安裝額外軟件。在江蘇聯(lián)合職業(yè)技術學院徐州財經(jīng)分院機房教學與考試中完成了實驗驗證,所有功能運行正常,操作簡單,如圖7、圖8所示。實現(xiàn)了所需功能,解決了Windows下的共享連接限制與權限控制需求。
6? 結? 論
本文為了實現(xiàn)在機房Windows系統(tǒng)環(huán)境下文件傳輸及權限控制的目的,分析了目前解決需求幾種方式的不足,在《Windows桌面版操作系統(tǒng)在機房環(huán)境中“文件共享”研究與實現(xiàn)》的思路上,進一步研究了FTP部署、配置及NTFS權限分配的機制,利用C#不僅完成了Windows共享工具的開發(fā),還實現(xiàn)了共享設置的自動化,并應用在了聯(lián)合職業(yè)技術學院徐州財經(jīng)分院的機房教學中,解決了在機房中的文件傳輸及可控管理需求。
參考文獻:
[1] 莊曉華.FTP用戶隔離及應用 [J].價值工程,2010,29(32):176-177.
[2] 張偉.Windows桌面版操作系統(tǒng)在機房環(huán)境中“文件共享”研究與實現(xiàn) [J].信息與電腦(理論版),2019,31(22):44-46.
[3] 李德水.WindowsDACL權限繼承和傳播機制研究 [J].信息技術,2012(12):29-31.
[4] 戴祖旭.Windows NTFS文件(夾)權限計算模型 [J].計算機工程與設計,2009,30(12):2902-2904.
作者簡介:張偉(1981.12—),男,漢族,江蘇徐州人,實驗師,網(wǎng)絡工程師,本科,研究方向:實驗室管理、信息化建設。