Closed. This question is off-topic。它当前不接受答案。












想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic

已关闭8年。



Improve this question




在我的WinForms应用程序的NSIS设置脚本中,我使用以下CACLS命令为Users组授予子文件夹的完整权限:
Exec 'CACLS "$INSTDIR\SubFolder" /E /T /C /G "Users":F'

因此,实际上执行的CACLS命令类似于:
CACLS "c:\Program Files\MyApp\SubFolder" /E /T /C /G "Users":F

然后,当我在Windows资源管理器中查看“文件夹”权限时(右键单击该文件夹并选择“属性”,转到“安全性”选项卡),那里是正确的权限,但是它们是不可编辑的。

此外,单击“高级安全设置”的“高级”按钮显示SubFolder正在继承“父对象”的“用户”组权限,但该父对象是什么,因为它不在上面的文件夹中。

为什么CACLS添加的权限是不可编辑的,为什么它们是从不存在的父对象继承的?我想我可能在CACLS上设置了错误的选项。

我在Windows XP上。

最佳答案

我想我已经明白了:更改CACLS以使用/P'replace'而不是/G'grant'似乎更好:

CACLS "c:\Program Files\MyApp\SubFolder" /E /T /C /P "Users":F

然后,可以在Windows资源管理器的“安全性”选项卡中编辑创建的选项。

关于windows - CACLS困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2999807/

10-11 23:33