Поделиться через


icacls

Отображает или изменяет списки управления доступом (DACLs) для указанных файлов и применяет хранимые списки управления доступом к файлам в указанных каталогах.

Note

Эта команда заменяет устаревшую команду cacls.

Syntax

icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]

Parameters

Parameter Description
<name> Указывает файл, для которого нужно отобразить или изменить списки DACL.
<directory> Указывает каталог, для которого следует отображать или изменять списки DACL.
/t Выполняет операцию по всем указанным файлам в текущем каталоге и его подкаталогах.
/c Продолжает операцию, даже если возникают ошибки файла. Сообщения об ошибках по-прежнему отображаются.
/l Выполняет операцию по символьной ссылке вместо назначения.
/q Подавляет сообщения об успешном выполнении.
/спасать <ACLfile> Сохраняет списки DAC для всех соответствующих файлов в файл списка управления доступом (ACL) для последующего использования /restore.
/setowner <user> Изменяет владельца всех соответствующих файлов указанному пользователю.
/findsid <sid> Находит все соответствующие файлы, содержащие daCL явное упоминание указанного идентификатора безопасности (SID).
/verify Находит все файлы со списками управления доступом, которые не являются каноническими или имеют длину, несовместимую с числом элементов управления доступом (ACE).
/reset Заменяет списки ACL на унаследованные списки управления доступом по умолчанию для всех соответствующих файлов.
/grant[:r] <sid>:<perm> Предоставляет указанные права доступа пользователей. Разрешения заменяют ранее предоставленные явные разрешения. Отсутствие добавления :r означает, что разрешения добавляются к любым ранее предоставленным явным разрешениям.
/deny <sid>:<perm> Явно запрещает указанные права доступа пользователей. Явное отклонение ACE добавляется для указанных разрешений и те же разрешения в любом явном предоставлении удаляются.
/удалить: g | d <sid> Удаляет все вхождения указанного идентификатора безопасности из DACL. Эта команда также может использовать:

  • g - Удаляет все вхождения предоставленных прав на указанный идентификатор безопасности
  • d - Удаляет все случаи отказа в правах на указанный идентификатор безопасности
  • /setIntegrityLevel <perm><level> Явно добавляет ACE целостности во все соответствующие файлы. Уровень можно указать следующим образом:

  • l - Низкий
  • m - Средний
  • h - Высокий

  • Параметры наследования для ACE целостности могут предшествовать уровню и применяются только к каталогам.
    /заменитель <sidold><sidnew> Заменяет существующий SID (sidold) на новый SID (sidnew). Требуется использовать с параметром <directory>.
    /restore <ACLfile> /c | /l | /q Применяет хранимые списки данных из <ACLfile> к файлам в указанном каталоге. Требуется использовать с параметром <directory>.
    /уровень наследования: e | д | r Задает уровень наследования, который может быть:

  • e - Включает наследование
  • d - Отключает наследование и копирует ACE
  • r - Отключает наследование и удаляет только унаследованные ACE
  • Remarks

    • Идентификаторы SID могут находиться в виде числовых или понятных имен. Если используется числовая форма, прикрепите подстановочный знак * к началу идентификатора безопасности.

    • Эта команда сохраняет канонический порядок записей ACE следующим образом:

      • Explicit denials

      • Explicit grants

      • Inherited denials

      • Inherited grants

    • Параметр <perm> — это маска разрешений, которую можно указать для основных прав, расширенных прав или прав наследования:

      • Последовательность простых прав (базовых разрешений) без необходимости использовать скобки:

        • N - Нет доступа
        • F - Полный доступ
        • M - Изменение доступа
        • RX - Доступ на чтение и выполнение
        • R - Доступ только для чтения
        • W - Доступ только для записи
        • D - Удалить доступ
      • Разделенный запятыми список определенных прав (расширенных разрешений), которые должны использовать скобки:

        • DE - Удалить
        • RC - Управление чтением (права на чтение)
        • WDAC - Запись DAC (изменение разрешений)
        • WO - Запись владельца (принятие владельца)
        • S - Синхронизация
        • AS - Безопасность системы доступа
        • MA - максимально допустимый
        • GR - Общее чтение
        • GW - Общая запись
        • GE - Generic execute
        • GA - Generic all
        • RD - Чтение каталога данных/списка
        • WD - Запись данных/добавление файла
        • AD - Добавление данных/добавление подкаталога
        • REA - Чтение расширенных атрибутов
        • WEA - Запись расширенных атрибутов
        • X - Выполнить/обойти
        • DC - Удалить дочерний элемент
        • RA - Атрибуты чтения
        • WA - Запись атрибутов
      • Последовательность прав наследования, которая должна использовать скобки:

        • (I) - Наследование. ACE наследуется от родительского контейнера.
        • (OI) - Наследование объекта. Объекты в этом контейнере наследуют этот ACE. Применяется только к каталогам.
        • (CI) - Наследование контейнера. Контейнеры в этом родительском контейнере наследуют этот ACE. Применяется только к каталогам.
        • (IO) - Только наследование. ACE наследуется от родительского контейнера, но не применяется к самому объекту. Применяется только к каталогам.
        • (NP) - Не размножайте наследование. ACE наследуется контейнерами и объектами родительского контейнера, но не распространяется на вложенные контейнеры. Применяется только к каталогам.

    Examples

    Чтобы сохранить DACLs для всех файлов в каталоге C:\Windows и его подкаталогах в файл ACLFile, введите следующее:

    icacls c:\windows\* /save aclfile /t
    

    Чтобы восстановить списки данных для каждого файла в ACLFile, существующем в каталоге C:\Windows и его подкаталогах, введите следующее:

    icacls c:\windows\ /restore aclfile
    

    Чтобы предоставить пользователю user1 Delete and Write DAC разрешения на файл с именем Test1, введите следующее:

    icacls test1 /grant User1:(d,wdac)
    

    Чтобы предоставить пользователю разрешения sid S-1-1-1-0 Delete and Write DAC в файл с именем TestFile, введите следующее:

    icacls TestFile /grant *S-1-1-0:(d,wdac)
    

    Чтобы применить высокий уровень целостности к каталогу и убедиться, что его файлы и подкаталоги наследуют этот уровень, введите:

    icacls "myDirectory" /setintegritylevel (CI)(OI)H