C # установить права доступа к каталогу в общей папке SAMBA - PullRequest
0 голосов
/ 21 мая 2018

Я делаю небольшую программу для создания каталогов на общем сетевом ресурсе 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);
        }
    }

Всегда в каталоге. SetAccessControl () Я получаю:

  • ошибка: «метод не выполнен с неожиданной ошибкой 50»
  • трассировка стека:
    • в System.Security.AccessControl.NativeObjectSecurity.Persist (имя строки, SafeHandlehandle, AccessControlSections includeSections, Object exceptionContext)
    • в System.Security.AccessControl.NativeObjectSecurity.Persist (Строковое имя, AccessControlSections includeSections, Object exceptionContext)
    • в System.Security.AccessersSisturity.Acessersistontont(String fullPath)

Я искал решение в течение многих часов и перепробовал множество комбинаций, но я не нашел ответа на вопрос, что такое ошибка 50, иРешение для установки разрешений.У меня вопрос: можно ли предоставить эти права?

...