为了账号安全,请及时绑定邮箱和手机立即绑定

无法为文件夹设置完全控制权限

无法为文件夹设置完全控制权限

C#
海绵宝宝撒 2022-11-13 14:33:49
我正在尝试Full Control通过 C# 将权限(对于 NT 服务帐户)添加到文件夹。但是,没有设置权限,我在这里缺少什么?var directoryInfo = new DirectoryInfo(@"C:\Test");var directorySecurity = directoryInfo.GetAccessControl();directorySecurity.AddAccessRule(new FileSystemAccessRule("NT Service\\FileMoverService",    FileSystemRights.FullControl, AccessControlType.Allow));directoryInfo.SetAccessControl(directorySecurity);
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

您需要指定继承标志:


directorySecurity.AddAccessRule(new FileSystemAccessRule(@"NT Service\FileMoverService",

    FileSystemRights.FullControl,

    InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,

    PropagationFlags.None,

    AccessControlType.Allow));


查看完整回答
反对 回复 2022-11-13
?
DIEA

TA贡献1820条经验 获得超2个赞

该方法GrantFullControl可用于设置Full Control给定目录和用户的权限。


private static void GrantFullControl(string directoryPath, string username)

{

    if (!Directory.Exists(directoryPath))

        return;


    var directorySecurity = Directory.GetAccessControl(directoryPath);

    directorySecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.FullControl,

        InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None,

        AccessControlType.Allow));


    Directory.SetAccessControl(directoryPath, directorySecurity);

}

只需调用如下所示的方法。


GrantFullControl(@"C:\Test", @"NT Service\FileMoverService");


查看完整回答
反对 回复 2022-11-13
  • 2 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信