Дескрипторы безопасности — это структуры данных информации о безопасности для защищаемых объектов Windows , то есть объектов, которые можно идентифицировать по уникальному имени. Дескрипторы безопасности могут быть связаны с любыми именованными объектами, включая файлы , папки , общие ресурсы, ключи реестра , процессы, потоки, именованные каналы, службы, объекты заданий и другие ресурсы. [1]
Дескрипторы безопасности содержат списки дискреционного контроля доступа (DACL), которые содержат записи контроля доступа (ACE), которые предоставляют и запрещают доступ доверенным лицам, таким как пользователи или группы. Они также содержат системный список контроля доступа (SACL), который управляет аудитом доступа к объектам. [2] [3] ACE могут быть явно применены к объекту или унаследованы от родительского объекта. Порядок ACE в ACL важен, при этом ACE с отказом в доступе отображаются выше в порядке, чем ACE, которые предоставляют доступ. Дескрипторы безопасности также содержат владельца объекта.
Обязательный контроль целостности реализуется посредством нового типа ACE на дескрипторе безопасности. [4]
Разрешения для файлов и папок можно редактировать различными инструментами, включая Windows Explorer , WMI , инструменты командной строки, такие как Cacls , XCacls, ICacls , SubInACL, [5] бесплатную консоль Win32 FILEACL, [6] [7] бесплатную утилиту SetACL и другие утилиты . Для редактирования дескриптора безопасности пользователю необходимы разрешения WRITE_DAC для объекта, [8] разрешение, которое обычно делегируется по умолчанию администраторам и владельцу объекта.
В следующей таблице обобщены разрешения NTFS и их роли (в отдельных строках). Таблица содержит следующую информацию: [9] [10] [11]
Код разрешения | Значение | Включено в | Псевдоним | ||||||
---|---|---|---|---|---|---|---|---|---|
Для файлов | Для папок | Р [а] | Э [б] | Туалет ] | А [д] | Мне ] | В icacls | В cacls | |
0x01 | Прочитать данные | Список содержимого папки | Да | Да | Да | Да | РД | ФАЙЛ_ЧИТАЕМ_ДАННЫЕ | |
0x80 | Атрибуты чтения | Да | Да | Да | Да | РА | АТРИБУТЫ_ЧТЕНИЯ_ФАЙЛА | ||
0x08 | Прочитать расширенные атрибуты | Да | Да | Да | Да | РЭА | ФАЙЛ_ЧИТАТЬ_EA | ||
0x20 | Выполнить файл | Папка Traverse | Да | Да | Да | Х | ФАЙЛ_ВЫПОЛНИТЬ | ||
0x20000 | Разрешения на чтение | Да | Да | Да | Да | Да | РК | ЧИТАТЬ_КОНТРОЛЬ | |
0x100000 | Синхронизировать | Да | Да | Да | Да | Да | С | СИНХРОНИЗИРОВАТЬ | |
0x02 | Запись данных | Создать файлы | Да | Да | Да | ВД | ЗАПИСЬ_ДАННЫХ_ФАЙЛА | ||
0x04 | Добавить данные | Создать папки | Да | Да | Да | ОБЪЯВЛЕНИЕ | ФАЙЛ_ПРИЛОЖЕНИЕEND_D | ||
0x100 | Написать атрибуты | Да | Да | Да | Вашингтон | АТРИБУТЫ_ЗАПИСИ_ФАЙЛА | |||
0x10 | Написать расширенные атрибуты | Да | Да | Да | ВЭА | ФАЙЛ_ЗАПИСЬ_EA | |||
0x10000 | Удалить (или переименовать [12] ) | Да | Да | ДЕ | УДАЛИТЬ | ||||
0x40000 | Изменить разрешения | Да | WDAC | WRITE_DAC | |||||
0x80000 | Взять на себя ответственность | Да | ВО | WRITE_OWNER | |||||
0x40 | Удалить подпапки и файлы | Да | округ Колумбия | FILE_DELETE_CHILD |
Большинство из этих разрешений не требуют пояснений, за исключением следующих:
Открытие с разрешением DELETE дает разрешение на переименование файла. Требуемое разрешение — DELETE, поскольку старое имя удаляется.