SAMA共享中的C#设置目录权限

时间:2018-05-21 20:12:45

标签: c# .net samba

我正在制作一个小程序来在samba网络共享上创建目录,我在设置创建目录的权限方面遇到了很大的问题。 我必须在远程网络共享上创建目录并为活动目录用户分配权限。

我用来设置权限的代码:

    public void SetPermission(string domain, string adminUser, string setUser, string pass, string path)
    {
        using (var impersonation = new Impersonation(domain, adminUser, pass))
        {
            var directory = !Directory.Exists(path) ? Directory.CreateDirectory(path) : new DirectoryInfo(path);
            var directorySecurity = directory.GetAccessControl();
            directorySecurity.AddAccessRule(new FileSystemAccessRule($"{domain}\\{setUser}", FileSystemRights.Write, AccessControlType.Allow));
            directory.SetAccessControl(directorySecurity);
        }
    }

总是在directory.SetAccessControl()我得到:

  • 错误:“方法因意外错误50而失败”
  • 堆栈跟踪:
    • at System.Security.AccessControl.NativeObjectSecurity.Persist(String name,SafeHandle handle,AccessControlSections includeSections,Object exceptionContext)
    • at System.Security.AccessControl.NativeObjectSecurity.Persist(String name,AccessControlSections includeSections,Object exceptionContext)
    • at System.Security.AccessControl.FileSystemSecurity.Persist(String fullPath)

我正在寻找一个解决方案很多个小时,并尝试了很多组合,但我找不到错误50的答案和设置权限的解决方案。我的问题是:可以授予这些权利吗?

0 个答案:

没有答案