首页
学习
活动
专区
圈层
工具
发布

CACLS混淆
EN

Stack Overflow用户
提问于 2010-06-09 01:42:58
回答 2查看 1.7K关注 0票数 2

在WinForms应用程序的NSIS安装脚本期间,我使用以下CACLS命令向用户组授予对子文件夹的完全权限:

代码语言:javascript
复制
Exec 'CACLS "$INSTDIR\SubFolder" /E /T /C /G "Users":F'

因此,实际上执行的CACLS命令类似于:

代码语言:javascript
复制
CACLS "c:\Program Files\MyApp\SubFolder" /E /T /C /G "Users":F

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

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

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

我使用的是Windows XP。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-09 17:24:37

我想我弄明白了:将CACLS改为使用/P 'replace‘而不是/G 'grant’似乎效果更好:

代码语言:javascript
复制
CACLS "c:\Program Files\MyApp\SubFolder" /E /T /C /P "Users":F

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

票数 3
EN

Stack Overflow用户

发布于 2010-06-09 03:05:59

NSIS有一个用于设置权限的plugin,你可能应该使用它(我甚至不记得XP Home是否有cacls)

“用户”的继承权限必须明确来自某个地方,要么是驱动器的根目录,要么是父文件夹的父文件夹(高级安全对话框应该在列表中有一个继承自列)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2999807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档