Разрешить чтение / запись доступа к файлу, блокируя всех остальных
У меня есть файл, который требует ввода пароля. Процесс считывает пароль из файла и записывает пароль в файл, поэтому пользователю, под которым запускается процесс, требуется доступ к файлу. Однако я хочу заблокировать доступ ко всем остальным. В настоящее время я пробовал следующее:
WindowsIdentity privilegedUser = WindowsIdentity.GetCurrent();
SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
FileSecurity acl = new FileSecurity();
acl.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.Read, AccessControlType.Deny));
acl.PurgeAccessRules(privilegedUser.User);
acl.AddAccessRule(new FileSystemAccessRule(privilegedUser.User, FileSystemRights.Modify,
AccessControlType.Allow));
File.SetAccessControl(_mirrorConfigFilePath, acl);
Однако, когда процесс пытается прочитать файл, я получаю исключение UnauthorizedAccessException. Я думаю, потому что первое правило, запрещающее доступ на чтение для всех, имеет приоритет. Кто-нибудь есть идеи, как я могу решить эту проблему? Или я даже прямо здесь думаю?