Невозможно добавить правила доступа с WellKnownSidType.WorldSid на Windows 7 - PullRequest
2 голосов
/ 25 августа 2011

Вот код:

var sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
var directorySecurity = new DirectorySecurity();
directorySecurity.AddAccessRule(new FileSystemAccessRule(sid, FileSystemRights.FullControl, AccessControlType.Allow));
Directory.CreateDirectory(Path.GetDirectoryName(this.PathToSettings.LocalPath), directorySecurity);
var fileSecurity = new FileSecurity();
fileSecurity.AddAccessRule(new FileSystemAccessRule(sid, FileSystemRights.FullControl, AccessControlType.Allow));
using (var fs = new FileStream(this.PathToSettings.LocalPath, FileMode.Create,     FileSystemRights.FullControl, FileShare.None, 1024, FileOptions.None, fileSecurity))
{
    var bytes = Encoding.UTF8.GetBytes(Resources.DefaultSettings);
    fs.Write(bytes, 0, bytes.Length);
}

Проблема: на windows 7 эти правила доступа не применяются к файлу (я не вижу группу Everyone на Security странице диалога свойств файла.

Я хочу разрешить доступ к указанному файлу для всех (администраторов, пользователей и т. Д.).

Что я делаю неправильно?

1 Ответ

0 голосов
/ 25 августа 2011

Проблема была в классе, который сохраняет настройки - он удаляет старый файл и создает новый (с использованием правил безопасности по умолчанию).Очень глупо, не знаю, почему кто-то написал такой код.

...