Наборы разрешений. Определение идентификаторов.
В наименовании некоторых майкрософтских разрешений присутствует слэш. Можно догадаться, что часть наименования,
слева от слэша характеризует разрешение, применяемое к папкам, а правая часть
наименования — разрешение, применяемое к файлам. Разрешение без слэша в
наименовании — общего применения: и к папкам, и к файлам. Исключение составляет
разрешение „Удаление подпапок и файлов”, предназначенное только для папок. То есть формально его нужно было бы
Майкрософту записать со слэшем на конце: „Удаление подпапок и файлов /”.
Вып = „Обзор папок / Выполнение файлов”
Чтен = „Содержание папки / Чтение данных”
+ „Чтение дополнительных атрибутов”
ЧтенВ = Чтен + Вып
СоздФ = „Создание файлов / Запись данных”
СоздП = „Создание папок / Дозапись данных”
Созд = СоздФ + СоздП
ЗапД = Созд
Запись данных. Для папки это имеет свою интерпретацию: при создании объектов внутри папки производится запись „данных”
этой папки. Другая сторона модификации папки, противоположная созданию объектов — удаление этих объектов. За этот
процесс отвечает разрешение „Удаление” (см. ниже).
ЗапА = „Запись атрибутов”
+ „Запись дополнительных атрибутов”
Зап = ЗапД + ЗапА
Запись. Следует отдавать себе отчёт, что в этот набор разрешений входят и „Создание папок”, и „Создание файлов”.
Уд = „Удаление”
Смен = „Смена разрешений”
„Удаление подпапок и файлов”
УдПпФ = „Удаление подпапок и файлов”
Это разрешение выбивается из общего ряда. Если оно установлено, тогда папка имеет право быть удалённой без оглядки на
разрешения объектов, содержащихся внутри её. Это разрешение лучше не использовать, так
как:
1) Установив запрет на удаление какого‑то объекта, мы не обретём уверенность, что он не будет удалён в
случае, если папка, в которой объект находится, имеет сейчас или получит в будущем разрешение „Удаление подпапок и
файлов”. Когда мы открываем список разрешений подчинённого объекта, в общем случае мы там не видим и намёка на то, что
этот объект может быть удалён. Наоборот — мы видим, что галка с разрешения „Удаление” снята. И после этого факт
свершившегося удаления вызывает недоумение.
2) Коли данное разрешение игнорирует разрешения подчинённых объектов, то оно нарушает логику всей системы
доступа к объектам. А исключения из правил всегда уменьшают общую надёжность любой системы.
3) Возможны коллизии с удалением объектов, связанные с наследованием прав от родительского объекта. Это
случается при переносе объектов между папками, для одной из которых разрешение „Удаление подпапок и файлов” применёно, а
для другой — нет.
Таким образом применение данного разрешения ухудшает ясность построения прав доступа к файловым объектам на основе и
без того сумбурного майкрософтского интерфейса задания NTFS-разрешений.
„Полный доступ” и почти полный доступ
Полн = „Полный доступ”
Это разрешение само по себе не несёт физического смысла. Просто при его установке проставляются галки для всех
разрешений.
Так как применение разрешения „Удаление подпапок и файлов” нецелесообразно, то нецелесообразно и применение разрешения
„Полный доступ”. Поэтому введём следующий идентификатор.
ПолнПочти = Полн – УдПпФ
Набор разрешений ПолнПочти будем применять для „человеческих” групп пользователей
(например „Администраторы”). А для „машинных” групп пользователей (например „SYSTEM”) продолжим применять „Полный
доступ” (мало ли какие алгоритмы могут быть заложены молодцами из Майкрософта).