隨著Windows XP/Server 2003的流行,越來越多的用戶開始選擇NTFS文件系統(tǒng),NTFS的好處自然是大大增強(qiáng)了系統(tǒng)的安全性,在“安全”標(biāo)簽頁下,我們可以在這里為不同級別的用戶設(shè)置相應(yīng)的訪問控制權(quán)限,包括完全控制、修改、讀取和運行、列出文件夾目錄、讀取、寫入、特別的權(quán)限等,你只需要在“允許”和“拒絕”下簡單勾選即可,點擊“高級”按鈕還可以設(shè)置更多的特殊權(quán)限,這里就不多說了。
其實,除了在圖形用戶界面下對文件或文件夾的訪問控制權(quán)限進(jìn)行設(shè)置外,我們還可以在命令行方式下完成這項工作,這在由于某些原因無法進(jìn)入圖形用戶界面時特別實用,雖然使用時有些麻煩,但卻可以救急。
一、使用Cacls.exe命令
這是一個在Windows 2000/XP/Server 2003操作系統(tǒng)下都可以使用的命令,作用是顯示或者修改文件的訪問控制表,在命令中可以使用通配符指定多個文件,也可以在命令中指定多個用戶。命令語法如下:
Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]
Filename:顯示訪問控制列表(以下簡稱ACL)
/T:更改當(dāng)前目錄及其所有子目錄中指定文件的ACL
/E:編輯ACL而不替換
/C:在出現(xiàn)拒絕訪問錯誤時繼續(xù)
/G Userer:perm:賦予指定用戶訪問權(quán)限,Perm代表不同級別的訪問權(quán)限,其值可以是R(讀取)、W(寫入)、C(更改,寫入)、F(完全控制)等。
/R user:撤銷指定用戶的訪問權(quán)限,注意該參數(shù)僅在與“/E”一起使用時有效!
/P user:perm:替換指定用戶的訪問權(quán)限,perm的含義同前,但增加了“N(無)”的選項。
/D user:拒絕指定用戶的訪問。
實例一:查看文件夾的訪問控制權(quán)限
例如,這里我們希望查看h:\temp文件夾的訪問控制權(quán)限,那么只需要在“開始→運行”對話框或切換到命令提示符模式下,鍵入如下命令:Cacls h:\temp
此時,我們會看到所有用戶組和用戶對h:\temp文件夾的訪問控制權(quán)限項目,這里的CI表示ACE會由目錄繼承,OI表示ACE會由文件繼承,IO表示ACI不適用于當(dāng)前文件或目錄,每行末尾的字母表示控制權(quán)限,例如F表示完全控制,C表示更改,W表示寫入。
如果你希望查看該文件夾中所有文件(包括子文件夾中的文件)的訪問控制權(quán)限,可以鍵入“Cacls h:\temp .”命令。
實例二:修改文件夾的訪問控制權(quán)限
假如你希望給予本地用戶wzj9999完全控制h:\temp文件夾及子文件夾中所有文件的訪問權(quán)限,只需要鍵入如下命令:
Cacls h:\temp /t /e /c /g wzj9999:f
這里的“/t”表示修改文件夾及子文件夾中所有文件的ACL,“/e”表示僅做編輯工作而不替換,“/c”表示在出現(xiàn)拒絕訪問錯誤時繼續(xù),而“/g wzj9999:f”表示給予本地用戶wzj9999以完全控制的權(quán)限,這里的“f”代表完全控制,如果只是希望給予讀取權(quán)限,那么應(yīng)當(dāng)是“r”。
實例三:撤銷用戶的訪問控制權(quán)限
如果你希望撤銷wzj9999用戶對h:\temp文件夾及其子文件夾的訪問控制權(quán)限,可以鍵入如下命令:
cacls h:\temp /t /e /c /r wzj9999
如果只是拒絕用戶的訪問,那么可以鍵入如下命令:
cacls h:\temp /t /e /c /d wzj9999
二、使用增強(qiáng)工具xcals.exe
在windows 2000資源工具包中,微軟還提供了一個名為xcacls.exe的文件控制權(quán)限修改工具,其功能較cacls.exe更為強(qiáng)大,可以通過命令行設(shè)置所有可以在windows資源管理器中訪問到的文件系統(tǒng)安全選項,我們可以從http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp下載,安裝后即可使用。
xcacls.exe命令的語法和參數(shù)與cacls.exe基本相同,但不同的是它通過顯示和修改文件的訪問控制列表(acl)執(zhí)行此操作。在“/g”參數(shù)后除保持原有的perm權(quán)限外,還增加了spec(特殊訪問權(quán)限)的選項,另外還增加了“/y”的參數(shù),表示禁止在替換用戶訪問權(quán)限時出現(xiàn)確認(rèn)提示,而默認(rèn)情況下,cacls.exe是要求確認(rèn)的,這樣在批處理中調(diào)用cacls.exe命令時,程序?qū)⑼V鬼憫?yīng)并等待輸入正確的答案,引入“/y”參數(shù)后將可以取消此確認(rèn),這樣我們就可以在批處理中使用xcacls.exe命令了。
實例一:查看文件或文件夾的權(quán)限
在“開始→運行”對話框或切換到命令提示符模式下,注意請事先將“c:\program files\resource kit”添加到“系統(tǒng)屬性→高級→環(huán)境變量→系統(tǒng)變量”中,或者通過cd命令將其設(shè)置為當(dāng)前路徑,否則會提示找不到文件,然后鍵入如下命令:
xcacls h:\temp
此時,可以查看到所有用戶組或用戶對h:\temp文件夾的訪問控制權(quán)限,io表示此ace不應(yīng)用于當(dāng)前對象,ci表示從屬窗口將繼承此ace,oi表示從屬文件將繼承該ace,np表示從屬對象不繼續(xù)傳播繼承的ace,而每行末尾的字母表示不同級別的權(quán)限,例如f表示完全控制,c表示更改,w表示寫入。
實例二:替換文件夾中的acl而不確認(rèn)
xcacls h:\temp /g administrator:rw/y
以上命令將替換h:\temp文件夾中所有文件和文件夾的acl,而不掃描子文件夾,也不會要求用戶確認(rèn)。
實例三:賦予某用戶對文件夾的控制權(quán)限
xcacls h:\temp /g wzj9999:rwed;rw /e
以上命令將賦予用戶wzj9999對h:\temp文件夾中所有新建文件的讀取、寫入、運行和刪除權(quán)限,但需要說明的是,這條命令只是賦予了用戶對文件夾本身的讀寫權(quán)限,而不包括子文件夾下的文件。
對普通用戶來說,cals.exe和xcacls.exe的作用可能不是那么明顯,這在windows 2000/xp/server 2003的無人值守安裝中特別有用,管理員可以為操作系統(tǒng)所在的文件夾設(shè)置初始訪問權(quán)限;在將軟件分發(fā)到服務(wù)器或工作站時,還可以借助xcacls.exe提供單步保護(hù),以防止用戶誤刪除文件夾或文件。