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

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

我想限制访问一切目录中work只有我和系统可见。我尝试使用以下命令:

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

但是它根本不起作用。以下命令应该只显示两个指定的用户,但却显示了一长串权限列表:

cacls.exe work/somedirectory

我也尝试使用/g而不是/p。由于我没有使用/e权限,因此不应编辑而是替换。

知道哪里出了问题吗?

答案1

您的第一行命令行中可能存在一个小错误。:f 应该在引号之外。您似乎还使用了单引号而不是双引号。我试过,但没用。

这个命令行对我来说工作正常:

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

或使用你的名字:

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

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

相关内容