如何使用cacls.exe递归更改ACL?


5

我想限制访问权限 一切 在 - 的里面 work 目录给我和系统。我用以下命令尝试了这个:

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

但它根本不起作用。以下命令应仅显示两个指定的用户,而是显示一个非常长的权限列表:

cacls.exe work/somedirectory

我试着用 /g 代替 /p也是。既然我没用过 /e 权限不应该被编辑但是被替换。

有什么想法有什么不对吗?

Answers:


0

您的第一个命令行中可能存在一个小错误。 :f应该在引号之外。您似乎也使用单引号而不是双引号。当我尝试它时,这不起作用。

这个命令行对我来说很好用:

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

或使用你的名字:

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

另一个可能的问题是cacls命令似乎应用权限更改的奇怪顺序。如果您运行上面的命令,而不是您自己的帐户,您授予其他人的权限,只有目录“test”将受到影响 - 而不是其子目录。这是因为命令似乎从上到下进行了更改,而不是从下到上进行更改,因此在编辑子目录上的ACL时,它不再具有权限!


我的错 - 我忘了提到它是从Cygwin命令行运行的。 AFAIK,bash删除单引号,这些引号是为了按字面解释反斜杠而需要的。我将再次尝试从WINDOZE shell中解决我的问题。
maaartinus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.