У меня есть две машины, назовем их клиент и сервер, в домене Windows. Сервер имеет общий каталог, к которому можно получить доступ с клиентского компьютера. Я хочу запустить приложение C # на клиенте, которое устанавливает разрешение для этого общего ресурса, чтобы наследовать разрешения родительского каталога общего ресурса на сервере. Как мне это сделать?
Я пробовал код в следующих строках, но я не думаю, что он дает правильный эффект:
DirectoryInfo shareDirectoryInfo = new DirectoryInfo("\\server\share");
DirectorySecurity directorySecurity = shareDirectoryInfo.GetAccessControl();
directorySecurity.SetAccessRuleProtection(false, false);
InheritanceFlags iFlags = InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;
FileSystemAccessRule accessRule = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, iFlags, PropagationFlags.InheritOnly, AccessControlType.Allow);
bool modified;
directorySecurity.ModifyAccessRule(AccessControlModification.Set, accessRule, out modified);
if (modified)
{
Directory.SetAccessControl(name, directorySecurity);
}
Наверное, я не понимаю, почему я должен создать FileSystemAccessRule для каталога - как я могу просто сказать, что унаследован от родителя?
Спасибо за любую помощь! Martin