[紅]技巧:用命令修改文件訪問(wèn)控制權(quán)限

2010-08-28 10:46:13來(lái)源:西部e網(wǎng)作者:

    隨著Windows XP/Server 2003的流行,越來(lái)越多的用戶(hù)開(kāi)始選擇NTFS文件系統(tǒng),NTFS的好處自然是大大增強(qiáng)了系統(tǒng)的安全性,在“安全”標(biāo)簽頁(yè)下,我們可以在這里為不同級(jí)別的用戶(hù)設(shè)置相應(yīng)的訪問(wèn)控制權(quán)限,包括完全控制、修改、讀取和運(yùn)行、列出文件夾目錄、讀取、寫(xiě)入、特別的權(quán)限等,你只需要在“允許”和“拒絕”下簡(jiǎn)單勾選即可,點(diǎn)擊“高級(jí)”按鈕還可以設(shè)置更多的特殊權(quán)限,這里就不多說(shuō)了。

  其實(shí),除了在圖形用戶(hù)界面下對(duì)文件或文件夾的訪問(wèn)控制權(quán)限進(jìn)行設(shè)置外,我們還可以在命令行方式下完成這項(xiàng)工作,這在由于某些原因無(wú)法進(jìn)入圖形用戶(hù)界面時(shí)特別實(shí)用,雖然使用時(shí)有些麻煩,但卻可以救急。

  一、使用Cacls.exe命令

  這是一個(gè)在Windows 2000/XP/Server 2003操作系統(tǒng)下都可以使用的命令,作用是顯示或者修改文件的訪問(wèn)控制表,在命令中可以使用通配符指定多個(gè)文件,也可以在命令中指定多個(gè)用戶(hù)。命令語(yǔ)法如下:  

  Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]  

  Filename:顯示訪問(wèn)控制列表(以下簡(jiǎn)稱(chēng)ACL)  

  /T:更改當(dāng)前目錄及其所有子目錄中指定文件的ACL  

  /E:編輯ACL而不替換  

  /C:在出現(xiàn)拒絕訪問(wèn)錯(cuò)誤時(shí)繼續(xù)    

  /G Userer:perm:賦予指定用戶(hù)訪問(wèn)權(quán)限,Perm代表不同級(jí)別的訪問(wèn)權(quán)限,其值可以是R(讀取)、W(寫(xiě)入)、C(更改,寫(xiě)入)、F(完全控制)等! 

  /R user:撤銷(xiāo)指定用戶(hù)的訪問(wèn)權(quán)限,注意該參數(shù)僅在與“/E”一起使用時(shí)有效。  

  /P user:perm:替換指定用戶(hù)的訪問(wèn)權(quán)限,perm的含義同前,但增加了“N(無(wú))”的選項(xiàng)。

  /D user:拒絕指定用戶(hù)的訪問(wèn)。

  實(shí)例一:查看文件夾的訪問(wèn)控制權(quán)限

  例如,這里我們希望查看h:\temp文件夾的訪問(wèn)控制權(quán)限,那么只需要在“開(kāi)始→運(yùn)行”對(duì)話(huà)框或切換到命令提示符模式下,鍵入如下命令:Cacls h:\temp

  此時(shí),我們會(huì)看到所有用戶(hù)組和用戶(hù)對(duì)h:\temp文件夾的訪問(wèn)控制權(quán)限項(xiàng)目,這里的CI表示ACE會(huì)由目錄繼承,OI表示ACE會(huì)由文件繼承,IO表示ACI不適用于當(dāng)前文件或目錄,每行末尾的字母表示控制權(quán)限,例如F表示完全控制,C表示更改,W表示寫(xiě)入。

  如果你希望查看該文件夾中所有文件(包括子文件夾中的文件)的訪問(wèn)控制權(quán)限,可以鍵入“Cacls h:\temp .”命令。

  實(shí)例二:修改文件夾的訪問(wèn)控制權(quán)限

  假如你希望給予本地用戶(hù)wzj9999完全控制h:\temp文件夾及子文件夾中所有文件的訪問(wèn)權(quán)限,只需要鍵入如下命令:   

  Cacls h:\temp /t /e /c /g wzj9999:f

  這里的“/t”表示修改文件夾及子文件夾中所有文件的ACL,“/e”表示僅做編輯工作而不替換,“/c”表示在出現(xiàn)拒絕訪問(wèn)錯(cuò)誤時(shí)繼續(xù),而“/g wzj9999:f”表示給予本地用戶(hù)wzj9999以完全控制的權(quán)限,這里的“f”代表完全控制,如果只是希望給予讀取權(quán)限,那么應(yīng)當(dāng)是“r”。

  實(shí)例三:撤銷(xiāo)用戶(hù)的訪問(wèn)控制權(quán)限

  如果你希望撤銷(xiāo)wzj9999用戶(hù)對(duì)h:\temp文件夾及其子文件夾的訪問(wèn)控制權(quán)限,可以鍵入如下命令:

  cacls h:\temp /t /e /c /r wzj9999

  如果只是拒絕用戶(hù)的訪問(wèn),那么可以鍵入如下命令:

  cacls h:\temp /t /e /c /d wzj9999

    二、使用增強(qiáng)工具xcals.exe

  在windows 2000資源工具包中,微軟還提供了一個(gè)名為xcacls.exe的文件控制權(quán)限修改工具,其功能較cacls.exe更為強(qiáng)大,可以通過(guò)命令行設(shè)置所有可以在windows資源管理器中訪問(wèn)到的文件系統(tǒng)安全選項(xiàng),我們可以從http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp下載,安裝后即可使用。

  xcacls.exe命令的語(yǔ)法和參數(shù)與cacls.exe基本相同,但不同的是它通過(guò)顯示和修改文件的訪問(wèn)控制列表(acl)執(zhí)行此操作。在“/g”參數(shù)后除保持原有的perm權(quán)限外,還增加了spec(特殊訪問(wèn)權(quán)限)的選項(xiàng),另外還增加了“/y”的參數(shù),表示禁止在替換用戶(hù)訪問(wèn)權(quán)限時(shí)出現(xiàn)確認(rèn)提示,而默認(rèn)情況下,cacls.exe是要求確認(rèn)的,這樣在批處理中調(diào)用cacls.exe命令時(shí),程序?qū)⑼V鬼憫?yīng)并等待輸入正確的答案,引入“/y”參數(shù)后將可以取消此確認(rèn),這樣我們就可以在批處理中使用xcacls.exe命令了。

  實(shí)例一:查看文件或文件夾的權(quán)限

  在“開(kāi)始→運(yùn)行”對(duì)話(huà)框或切換到命令提示符模式下,注意請(qǐng)事先將“c:\program files\resource kit”添加到“系統(tǒng)屬性→高級(jí)→環(huán)境變量→系統(tǒng)變量”中,或者通過(guò)cd命令將其設(shè)置為當(dāng)前路徑,否則會(huì)提示找不到文件,然后鍵入如下命令:

  xcacls h:\temp

  此時(shí),可以查看到所有用戶(hù)組或用戶(hù)對(duì)h:\temp文件夾的訪問(wèn)控制權(quán)限,io表示此ace不應(yīng)用于當(dāng)前對(duì)象,ci表示從屬窗口將繼承此ace,oi表示從屬文件將繼承該ace,np表示從屬對(duì)象不繼續(xù)傳播繼承的ace,而每行末尾的字母表示不同級(jí)別的權(quán)限,例如f表示完全控制,c表示更改,w表示寫(xiě)入。

  實(shí)例二:替換文件夾中的acl而不確認(rèn)

  xcacls h:\temp /g administrator:rw/y

  以上命令將替換h:\temp文件夾中所有文件和文件夾的acl,而不掃描子文件夾,也不會(huì)要求用戶(hù)確認(rèn)。

  實(shí)例三:賦予某用戶(hù)對(duì)文件夾的控制權(quán)限

  xcacls h:\temp /g wzj9999:rwed;rw /e

  以上命令將賦予用戶(hù)wzj9999對(duì)h:\temp文件夾中所有新建文件的讀取、寫(xiě)入、運(yùn)行和刪除權(quán)限,但需要說(shuō)明的是,這條命令只是賦予了用戶(hù)對(duì)文件夾本身的讀寫(xiě)權(quán)限,而不包括子文件夾下的文件。

  對(duì)普通用戶(hù)來(lái)說(shuō),cals.exe和xcacls.exe的作用可能不是那么明顯,這在windows 2000/xp/server 2003的無(wú)人值守安裝中特別有用,管理員可以為操作系統(tǒng)所在的文件夾設(shè)置初始訪問(wèn)權(quán)限;在將軟件分發(fā)到服務(wù)器或工作站時(shí),還可以借助xcacls.exe提供單步保護(hù),以防止用戶(hù)誤刪除文件夾或文件。

關(guān)鍵詞:文件

贊助商鏈接: