如何在Windows XP Home Edtion中配置文件訪問的ACL

由於新電腦自帶的系統是Windows XP Home Edtion,而且最可悲的是在我電腦基本軟件都安裝好,數據也轉移好的情況下才發現的,晴天霹靂啊。

 

後來想想也算了,反正現在是用VS2005開發,即便是編寫ASP.NET程序也不需要依賴於IIS了,所以也就想先用着好了。

 

但是今天在編寫一個Windows程序的時候卻發現了另外一個問題,在Windows XP Home Edtion的版本中不能通過取消“文件選項的簡單文件共享”然後在文件屬性的“安全”選項卡中設置文件訪問的ACL。難道讓我將文件系統更改爲FAT32,但是撇開安全性不說,光那單獨文件4GB的限制,對於愛好高清電影的我也是一個蠻大的限制。

 

在網絡上查找了一下,總算髮現了一個解決方法,不是曲線救國,也不是偷樑換柱,確實在XP Home Edtion存在這樣一個命令 -- cacls 可以對文件、文件夾進行ACL配置,也就是說在XP Pro Edtion中是存在界面的,但是在Home Edtion中卻是用命令的方式存在的。

 

OK, 具體針對cacls的使用可以在“開始”-> “運行” -> “cmd” 然後輸入cacls後回車就可以查看到。

 

這裏我只舉一個例子,這個例子是我今天真是用到的。

 

我今天碰到的情況是,一個服務需要訪問一個文件夾,服務使用的windows賬戶是: NT AUTHORITY / LOCAL SERVICE, 但是這個賬戶沒有訪問對應文件夾,如:c:/fujun/這個文件夾的權限,我們需要將這個賬戶對此文件夾訪問的權限添加到對應文件夾及內部文件及子文件夾中,這裏爲了方便操作(不過多的考慮安全性,唉,我真不是一個稱職的程序員)我就將LOCAL SERVICE的賬戶設置爲完全控制c:/fujun/這個文件夾及子內容。

 

那麼對應的cacls命令爲:

 

cacls c:/fujun /t /e /c /g "NT AUTHORITY/LocalService":f

 

這裏參數:/t 表示此次ACL的影響範圍是當前文件夾及子文件夾及文件;

 

               /e 表示編輯ACL而不替換;

 

               /c 在出現拒絕訪問錯誤時繼續

 

               /g user:perm 賦予指定用戶的訪問權限, 這裏的perm = f 是用來表示“完全控制”(full control)。

 

在執行此命令後,系統會將受影響的文件夾及文件列舉出來以供查閱。

 

總感覺Home版的Windows XP讓我沒有安全感,什麼時候看來還是要返回Pro的懷抱。:)

 

P.S. 這裏最後插一句與此文相關不大的話,在軟件的安全領域我們的系統很大程度上保護的對象就是保存在計算機上的數據,那麼歸根結底就是計算機上的文件資源,在Windows NT平臺下,我們可以使用ACL來對文件的訪問進行設置,這樣作爲對敏感數據的最後一道防線。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章