我想更改文件的ACL并将“完全权限”设置为特殊用户。
我知道cacls-command cacls . /e /t /p Everyone:f
但是这只适用于操作系统是英语的情况。对于德国系统,它必须是
cacls . /e /t /p Jeder:f
。
我知道用户“所有人”(S-1-1-0)的well-known SIDs,但似乎我不能将它们与cacls一起使用。
我尝试了cacls . /e /t /p S-1-1-0:f
。
有没有办法使用Windows命令行工具来完成这项工作?我不允许用我的软件捆绑软件或其他命令行工具。
必须从Java-Process调用解决方案,但这应该不是问题。
答案 0 :(得分:1)
这可能是特定于Windows版本的,但请查看
whoami /groups
并解析结果。在Windows 7上,这个
whoami /groups | find "S-1-1-0"
对我来说是这样的
C:\>whoami /groups | find "S-1-1-0"
Everyone Well-known group S-1-1-0
Mandatory group, Enabled by default, Enabled group
有一个完整的Win32 API可以实现这个目标。这是使用C#
的解决方案http://www.ms-news.net/f2438/setpermission-everyone-c-4997971.html
答案 1 :(得分:0)
我找到了解决方案。我正在使用我的安装程序创建工具供应商提供的库。
修改强>
问题解决方案:
设置创建工具Install4j
有一个方法getUserLogin(String sid)
,其返回值类似于:WORKSTATION1\User1
我使用cacls
来更改ACL。