我想更改文件的 ACL 并为特殊用户设置“完全权限”。
我知道 cacls 命令 cacls . /e /t /p Everyone:f
但是这仅在操作系统是英语时才有效。对于德国系统,必须是
cacls . /e /t /p Jeder:f
.
我知道well-known SIDs用户“所有人”(S-1-1-0),但似乎我无法将它们与 cacls 一起使用。
我试过cacls . /e /t /p S-1-1-0:f
.
有没有办法使用 Windows 命令行工具来完成这项工作?我不得将用于此作业的软件或其他命令行工具与我的软件捆绑在一起。
该解决方案必须从 Java 进程调用,但这应该不是问题。
最佳答案
这可能是特定于 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
关于java - 如果我只知道SID,如何更改Windows中的文件ACL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389868/