題 如何使用cacls.exe遞歸更改ACL?


我想限制訪問權限 一切 在 - 的里面 work 目錄給我和系統。我用以下命令嘗試了這個:

cacls.exe work /t /p 'PIXLA09\Maaartin:f' 'NT AUTHORITY\SYSTEM':f

但它根本不起作用。以下命令應僅顯示兩個指定的用戶,而是顯示一個非常長的權限列表:

cacls.exe work/somedirectory

我試著用 /g 代替 /p也是。既然我沒用過 /e 權限不應該被編輯但是被替換。

有什麼想法有什麼不對嗎?


5
2018-05-04 18:41


起源




答案:


您的第一個命令行中可能存在一個小錯誤。 :f應該在引號之外。您似乎也使用單引號而不是雙引號。當我嘗試它時,這不起作用。

這個命令行對我來說很好用:

cacls test /t /g "computername\sahmeepee":f "system":f

或使用你的名字:

cacls work /t /g "PIXLA09\Maaartin":f "system":f

另一個可能的問題是cacls命令似乎應用權限更改的奇怪順序。如果您運行上面的命令,而不是您自己的帳戶,您授予其他人的權限,只有目錄“test”將受到影響 - 而不是其子目錄。這是因為命令似乎從上到下進行更改,而不是從下到上進行更改,因此在編輯子目錄上的ACL時,它不再具有權限!


0
2018-05-14 10:00



我的錯 - 我忘了提到它是從Cygwin命令行運行的。 AFAIK,bash刪除了那裡需要的單引號,以便按字面解釋反斜杠。我將再次嘗試從WINDOZE shell中解決我的問題。 - maaartinus