2009年4月9日 星期四

用指令來增加檔案或資料夾的權限

C:\Documents and Settings\users>cacls

顯示或修改檔案的存取控制清單 (ACLs)

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]][/P user:perm [...]] [/D user [...]]
filename 顯示 ACL。

/T 變更指定檔案的 ACL 於
現有的目錄或所有子目錄中。

/E 編輯 ACL 而非將它取代。

/C 拒絕存取的錯誤繼續發生。

/G user:perm 授與指定的使用者存取權限。
Perm 的值可以是:
R 讀取
C 變更 (寫入)
F 完全控制

/R user 撤銷已指定的使用者存取權限 (只有當 /E 存在時才有效)。

/P user:perm 取代已指定的使用者存取權限。
Perm 的值可以是:
N 沒有權限
R 讀取
C 變更 (寫入)
F 完全控制

/D user 拒絕已指定的使用者存取。

您可以在命令中使用萬用字元一次指定數個檔案。

您可以在命令中指定數個使用者。

縮寫:
CI - 容器繼承。
ACE 將被目錄繼承。
OI - 物件繼承。
ACE 將被檔案繼承。
IO - 僅供繼承。
ACE 不可套用到目前的檔案/目錄。

舉例說明
查詢目前權限

C:\Documents and Settings\USERS>cacls "Exchange Server 2003 部署手冊.pdf"
C:\Documents and Settings\USERS\Exchange Server 2003 部署手冊.pdf DOMAIN\aesop:F
NT AUTHORITY\SYSTEM:F
BUILTIN\Administrators:F

假設C:\TEST 保持原有權限並加入DOMAIN DOM的user2可以修改

CACLS C:\TEST /E /T /P DOM/USER2:C

有些是預設的domain帳號或群組如 Authenticated Users 或Domain Users

就必須用

CACLS C:\TEST /E /T /P "NT AUTHORITY\Authenticated Users":C

注意要加引號,並且是用 NT AUTHORITY 並不是您Domain的名稱

也可以增加多帳號並給不同權限
CACLS C:\TEST /E /T /P DOM/USER2:F "NT AUTHORITY\Authenticated Users":C
以上
DOM/USER2:F

"NT AUTHORITY\Authenticated Users":C
是有空一格的

雖然說可以多檔案多帳號
但是我通常只用到單一檔案多帳號
多個檔案時我都寫成batch
例如
CACLS C:\TEST /E /T /P DOM/USER2:F "NT AUTHORITY\Authenticated Users":C
CACLS C:\TEST1 /E /T /P DOM/USER2:F "NT AUTHORITY\Authenticated Users":C

用這看起來很麻煩
其實最終目的是要寫成batch
因為如果電腦及檔案的數量很多需要修改時
就可以放入GPO裡面
不用一台一去改
而且不會遺漏

1 則留言:

匿名 提到...

請問,我想要修改一個檔案的"SYSTEM群組"的權限,指令要怎麼下呢?
謝謝!