Создание каталога с разрешениями
Моя цель - создать каталог с именем "Журналы" внутри каталога профиля пользователя: давайте назовем его - C:\Users\UserX. Когда я вошел в систему как UserX, который также указан как администратор текущего компьютера, каталог: C:\Users\UserX\Logs успешно создан. Тем не менее, когда я вошел в систему как Пользователь Y или любой другой пользователь, который не является UserX и не указан в качестве администратора машины, я получаю исключение разрешения при создании упомянутого каталога (C:\Users\UserY\Logs). Можно создать каталог с именем "Журналы" по пути C:\Users\UserY\Logs, когда UserY не является администратором машины, и если да, то как я могу сделать это с помощью кода (C#)? Мой текущий код выглядит следующим образом:
var rootFolder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
var logsFolder = Path.Combine(rootFolder, "Logs");
if (!Directory.Exists(logsFolder))
{
var dirSec = new DirectorySecurity(rootFolder, AccessControlSections.All);
var procInfo = Process.GetCurrentProcess().StartInfo;
var domainName = string.IsNullOrEmpty(procInfo.Domain) ? Environment.UserDomainName : procInfo.Domain;
var userName = string.IsNullOrEmpty(procInfo.UserName) ? Environment.UserName : procInfo.UserName;
userName = string.Format("{0}\\{1}", domainName, userName);
dirSec.SetAccessRule(new FileSystemAccessRule(userName, FileSystemRights.CreateDirectories, AccessControlType.Allow));
dirSec.SetAuditRule(new FileSystemAuditRule(userName, FileSystemRights.CreateDirectories, AuditFlags.Failure));
Directory.CreateDirectory(logsFolder);
}
Но затем, если журналы каталогов не существуют в "C:\Users\UserY" и UserY не является администратором машины, я получаю исключение разрешения при создании упомянутого каталога, как я уже упоминал. Может ли UserY создать такой каталог в "C:\Users\UserY", и если да, то как это можно сделать с помощью кода?