无法对目录设置 FullControl
我试图在 Windows 7 机器上以编程方式为每个人设置 FullControl,但没有成功。
var dirSec = dir.GetAccessControl();
var fsar = new FileSystemAccessRule(
"Everyone",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.InheritOnly,
AccessControlType.Allow);
dirSec.AddAccessRule(fsar);
dir.SetAccessControl(dirSec);
这为Everyone组添加了一些权限(列表和读取),但不是完全控制。如果我使用资源管理器编辑安全权限,我可以将其设置为 FullControl。有什么想法为什么失败吗?我的尝试没有出现任何错误消息。
I'm trying to set FullControl for Everyone programmatically on a Windows 7 box with no luck.
var dirSec = dir.GetAccessControl();
var fsar = new FileSystemAccessRule(
"Everyone",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.InheritOnly,
AccessControlType.Allow);
dirSec.AddAccessRule(fsar);
dir.SetAccessControl(dirSec);
This adds some permissions for the Everyone group (List and Read), but not full control. If I edit the security permissions using Explorer I can set it to FullControl. Any ideas why it's failing? There are no error messages from my attempts.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该可以正常工作:
如果这不起作用,那么您的应用程序似乎无权提供此类访问规则。尝试实施模仿。这是一个示例: 使用 C# 代码进行 WindowsIdentity 模拟
This should work fine:
If that does not work then it seems that your application does not have rights to give that kind access rule. Try to implement impersonation. Here is a sample: WindowsIdentity Impersonation using C# Code