Утилита командной строки icacls.exe, доступная в Windows, позволяет просматривать и изменять разрешения файлов и папок. Cacls - сокращение от Control ACLs - управление списками управления доступом.
Для вызова командной строки введите cmd в окне Выполнить.
Список управления доступом (ACL) представляет собой список записей управления доступом (ACE). Каждая запись в списке определяет учетную запись и разрешения, разрешенные, запрещенные или отслеживаемые для данного пользователя. Дескриптор безопасности для защищаемых объектов может содержать 2 типа списков управления доступом: DACL (discretionary access control list – контролируемый список управления доступом) и SACL (system access control list – системный список управления доступом).
Контролируемые списки управления доступом определяют разрешения, которые разрешают или запрещают доступ к защищаемому объекту. Когда процесс пытается получить доступ к защищаемому объекту, система проверяет записи управления доступом в контролируемом списке управления доступом объекта, чтобы определить предоставлять ли доступ или нет. Если у объекта нет контролируемого списка управления доступом, система предоставляет полный доступ для всех. Если контролируемый список управления доступом не содержит записей управления доступом, система запрещает все попытки доступа к объекту, т.к. контролируемый список управления доступом не разрешает никакого доступа. Система проверяет записи управления доступом по порядку пока не найдет одну или несколько записей, которые разрешают все запрошенные права доступа, или пока любое из запрошенных прав доступа не запрещено.
Системные списки управления доступом позволяют администраторам журналировать попытки доступа к защищаемым объектам. Каждая запись управления доступом определяет тип попытки доступа по определенному разрешению, который сгенерировал запись в журнале событий безопасности. Запись управления доступом в системном списке управления доступом может сгенерировать записи аудита когда попытка доступа была успешной, неуспешной или в обоих случаях.
|
Утилита icacls.exe имеет следующий синтаксис (чтобы просмотреть его введите icacls.exe /? в командной строке):
ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
сохраняет список управления доступом файлов и папок (DACL), соответствующих имени name, в aclfile для последующего использования с командой /restore. Обратите внимание, что метки SACL владельца и целостности не сохраняются
ICACLS directory [/substitute SidOld SidNew [...]] /restore aclfile [/C] [/L] [/Q]
применение сохраненных DACL к файлам в каталоге
ICACLS name /setowner user [/T] [/C] [/L] [/Q]
изменение владельца всех соответствующих имен. Этот параметр не предназначен для принудительной смены владельца; для этих целей следует использовать программу takeown.exe
ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
поиск всех соответствующих имен, которые включают в себя ACL, явно содержащие данный SID
ICACLS name /verify [/T] [/C] [/L] [/Q]
поиск всех файлов, чьи ACL не являются каноническими или длина которых не соответствует количеству ACE.
ICACLS name /reset [/T] [/C] [/L] [/Q]
замена ACL унаследованными по умолчанию ACL для всех соответствующих файлов.
ICACLS name [/grant[:r] Sid:разрешение[...]]
/deny Sid:разрешение [...]]
/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q]
[/setintegritylevel level:policy[…]]
/grant[:r] Sid:разрешение – предоставление указанных прав доступа пользователя. При использовании параметра:r эти разрешения заменяют любые ранее предоставленные явные разрешение. Если параметр:r не используется, разрешения добавляются к любым ранее предоставленным разрешениям.
|
/deny Sid:разрешение – явный отзыв указанных прав доступа пользователя. ACE явного отзыва добавляется для заявленных разрешений, и любое явное предоставление этих же разрешений удаляется.
/remove[:[g|d]] Sid – удаление всех вхождений SID в ACL. При использовании параметра:g удаляются все вхождения предоставленных прав в этом SID. При использовании параметра:d удаляются все вхождения отозванных прав в этом SID.
/setintegritylevel [(CI)(OI)] level – явное добавление ACE уровня целостности ко всем соответствующим файлам. Уровень может принимать одно из следующих значений:
· L[ow] – низкий;
· M[edium] – средний;
· H[igh] – высокий.
Перед уровнем могут указываться параметры наследования для ACE целостности, которые применяются только к каталогам:
/inheritance:e|d|r
· e – включение наследования;
· d – отключение наследования и копирование ACE;
· r – удаление всех унаследованных ACE.
Примечание:
Идентификаторы SID могут быть представлены либо в числовой форме, либо в форме принятого имени. Если задана числовая форма, добавьте * в начало SID.
/T – операция выполняется для всех соответствующих файлов и каталогов, расположенных в указанных в имени каталогах.
/C – выполнение операции продолжается при любых файловых ошибках. Сообщения об ошибках по-прежнему выводится на экран.
/L – операция выполняется над самой символической ссылкой, а не над ее целевым объектом.
/Q – команда ICACLS подавляет сообщения об успешном выполнении.
|
ICACLS сохраняет канонический порядок записей ACE:
· явные отзывы;
· явные предоставления;
· унаследованные отзывы;
· унаследованные предоставления.
Разрешение – это маска разрешения, которая может задаваться в одной из двух форм:
1. последовательность простых прав:
· N (доступ отсутствует) – эквивалентно установке флажков Запретить Полный доступ на вкладке Безопасность.
· F (полный доступ) – эквивалентно установке флажков Разрешить Полный доступ на вкладке Безопасность.
· M (доступ на изменение) – эквивалентно установке флажков Разрешить Изменение на вкладке Безопасность.
· RX (доступ на чтение и выполнение) – эквивалентно установке флажков Разрешить Чтение и выполнение на вкладке Безопасность.
· R (доступ только на чтение) – эквивалентно установке флажков Разрешить Чтение на вкладке Безопасность.
· W (доступ только на запись) – эквивалентно установке флажков Разрешить Запись на вкладке Безопасность.
· D (доступ на удаление) – эквивалентно установке флажков Разрешить Удаление в окне Дополнительно вкладки Безопасность.
2. список отдельных прав, разделенный запятыми т заключенный в скобки:
· DE – удаление
· RC – чтение
· WDAC – запись DAC
· WO – смена владельца
· S – синхронизация
· AS – доступ к безопасности системы
· MA – максимально возможный
· GR – общее чтение
· GW – общая запись
· GE – общее выполнение
· GA – все общие
· RD – чтение данных, перечисление содержимого папки
· WD – запись данных, создание файлов
· AD – добавление данных и вложенных каталогов
· REA – чтение дополнительных атрибутов
· WEA – запись дополнительных атрибутов
· X – выполнение файлов и обзор папок
· DC – удаление вложенных объектов
· RA – чтение атрибутов
· WA – запись атрибутов
Разрешения второго списка соответствуют перечню разрешений Дополнительных параметров безопасности, которые можно открыть, нажав кнопку Дополнительно на вкладке Безопасность окна свойств.
Права наследования могут предшествовать любой форме и применяются только к каталогам:
· (OI) – наследование объектами
· (CI) – наследование контейнерами
· (IO) – только наследование
· (NP) – запрет на распространение наследования
· (I) – наследование разрешений от родительского контейнера
2. Контрольные вопросы
1. Опишите основные способы упорядочивания объектов в проводнике.
2. Дайте описание понятию Библиотека.
3. Опишите основные настройки Параметров папок.
4. Опишите основные вкладки свойств папки.
5. Опишите основные атрибуты файлов и папок.
6. Перечислите автоматически установленный набор разрешений для файлов и папок.
7. Перечислите основные принципы установки разрешений.
8. Опишите основные разрешения.
9. Опишите причины и способы получения доступа к файлам и папкам.
10. Опишите синтаксис утилиты ICACLS.
Задания
1. Откройте папку. Проведите сортировку, группировку и фильтрацию файлов.
2. Создайте библиотеку, включив в нее 2 папки.
3. Настройте отображение всех папок в области переходов.
4. Отобразите системные и скрытые файлы. Покажите файл профиля пользователя NTUser.dat.
5. Создайте текстовый файл. Преобразуйте созданный файл в доступный только для чтения.
6. Настройте права пользователя для файла.
7. Настройте дополнительные разрешения для файла.
8. Смените владельца файла.
9. При помощи утилиты командной строки:
9.1. Замените все разрешения файла унаследованными по умолчанию.
9.2. Выдайте разрешение пользователю на чтение файла.
9.3. Выдайте пользователю запрет на изменение файла.
9.4. Удалите все разрешения данного пользователя.
9.5. Удалите все запреты данного пользователя.