Вот код:
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
странице диалога свойств файла.
Я хочу разрешить доступ к указанному файлу для всех (администраторов, пользователей и т. Д.).
Что я делаю неправильно?