![如何使用 cacls.exe 递归更改 ACL?](https://linux22.com/image/1274526/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20cacls.exe%20%E9%80%92%E5%BD%92%E6%9B%B4%E6%94%B9%20ACL%EF%BC%9F.png)
我想限制访问一切目录中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 时,它不再具有权限!