Хорошо, не знаю, как это сказать, но:
Где создаются сами разрешения NTFS? Например, я могу установить «Полный доступ» или «Чтение», но где они запрограммированы?
Вот почему я спрашиваю:
Я заметил, что когда я нахожусь в других программах (например, Active Directory) и нажимаю «Вкладку безопасности» на элементе, это позволяет мне установить разрешения NTFS для самого элемента (например, пользователя или подразделения).
Но там есть разные варианты! У них есть полный доступ, чтение и запись и многие из них, которые есть в обычных файлах, но у них также есть множество других (см. Мои две картинки, чтобы понять, что я имею в виду).
Так что это заставило меня задуматься, где создаются и хранятся эти выбираемые разрешения?
Кроме того, могу ли я создавать свои собственные объекты для создания внутри них настраиваемых разрешений NTFS?
У меня есть подозрение, что это запрограммировано на уровне Windows, и только сама Microsoft может изменить эти вещи, но я действительно хотел бы получить более глубокое понимание того, откуда берутся эти списки.
Спасибо!
Вот стандартные параметры NTFS для файла:
Вот параметры NTFS, доступные для объекта домена: P.S. Я тоже компьютерный программист и почти спросил об этом на SO, потому что меня также интересует кодовая сторона этого, но это казалось более подходящим для SF.
В операционной системе на базе Windows NT ко многим типам объектов применяются дескрипторы безопасности. Вот неполный список:
files, devices, mailslots, pipes, jobs, processes, threads, events,
access tokens, volumes, window stations, desktops, network shares,
services, registry keys, printers, Active Directory objects.
В Security descriptor
для каждого объекта описывает, кто и что может делать с объектом в зависимости от разрешений пользователя.
Как и где они хранятся, зависит от типа объекта. Для файлы дескриптор безопасности представлен в виде списков дискреционного контроля доступа (DACL) и хранится в атрибутах NTFS вместе с содержимым файла.
Для объекта Active Directory информация о безопасности хранится вместе с объектом в базе данных AD. Хотя вы можете изменить схему AD и, я не думаю, что вы можете изменить разрешения, доступные для различных объектов. Они встроены в саму ОС.
Откуда берутся разрешения? В NTFS, если вы создаете новый файл, он обычно наследует разрешения своего родительского контейнера.
В противном случае программа, которая создает объект, может устанавливать разрешения во время создания, и программист должен решать, какие разрешения устанавливать.