Команда CACLS


Команда CACLS используется для просмотра и изменения списков управления доступом (Access Control List - ACL) к файлам. CACLS считается устаревшей, и вместо нее рекомендуется использовать команду ICACLS.

Формат командной строки:
 

 CACLS имя_файла [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G имя:доступ]
        [/R имя [...]] [/P имя:доступ [...]] [/D имя [...]]Параметры:    имя_файла     Просмотр списков управления доступом.
    /T            Изменение списков управления доступом для указанных файлов
                  в текущем каталоге и вложенных каталогах.
    /L            Работа с самой символической ссылкой, а не с объектом.
    /M            Изменение ACL томов, подключенных к каталогу.
    /S            Отображение строки SDDL для DACL.
    /S:SDDL       Замена ACL на указанные в строке SDDL
                  (не используется с ключами /E, /G, /R, /P и /D).
    /E            Изменение списка управления доступом вместо его замены.
    /C            Продолжение при ошибках отказа в доступе.
    /G имя:доступ Разрешения для указанных пользователей.
                  Доступ:  R  - чтение
                           W  - запись
                           C  - изменение (запись)
                           F  - полный доступ
    /R имя       Отзыв разрешений для пользователя (только вместе с /E).
    /P имя:доступ  Замена разрешений указанного пользователя.
                 Доступ:  N  - нет
                          R  - чтение
                          W  - запись
                          C  - изменение (запись)
                          F  - полный доступ
    /D имя       Запрет на доступ пользователя.
 Для выбора нескольких файлов используются подстановочные знаки.
  В команде можно указать несколько пользователей.



Для расшифровки результатов, полученных при выполнении команды CACLS используются следующие сокращения:
 

    CI - наследование контейнерами.
         таблица управления доступом (ACE) наследуется каталогами.
    OI - наследование объектами.
         ACE наследуется файлами.
    IO - только наследование.
         ACE не применяется к текущему файлу или каталогу.
    ID - наследование.
         ACE наследуется от ACL родительского каталога.Возможны комбинации:(IO)(CI)  	Права доступа применяются для данной папки, ее подпапок и файлов
(OI)(CI)(IO) 	Права доступа применяются олько для подпапок и файлов
(CI)(IO) 	Права доступа применяются только для подпапок
(OI)(IO) 	Права доступа применяются только для файлов



Примеры использования:

CACLS C:\ - отобразить список доступа к корневому каталогу диска C: . В результате выполнения команды будет выполнен вывод списка разрешений:
 

C:\ 
BUILTIN\Администраторы:F 
    BUILTIN\Администраторы:(OI)(CI)(IO)F 
    NT AUTHORITY\система:F 
    NT AUTHORITY\система:(OI)(CI)(IO)F 
    BUILTIN\Пользователи:(OI)(CI)R 
    NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)C 
    NT AUTHORITY\Прошедшие проверку:(специальный доступ:)
                                    FILE_APPEND_DATA



CACLS C:\boot.ini /G user1:W - разрешить пользователю user1 запись в файл C:\boot.ini

CACLS C:\USERS /G user1:F - разрешить полный доступ пользователю user1 к каталогу C:\USERS

CACLS "C:\System Volume Information" /E /G User3:F - изменить список управления доступом ( ключ /E ), предоставив пользователю User3 полный доступ к каталогу C:\System Volume Information . Имя каталога, содержащее пробелы, заключается в двойные кавычки.

CACLS "C:\System Volume Information" /E /R User3 - отозвать полномочия пользователя User3, т.е. удалить запись управления доступом к указанному каталогу для пользователя User3

CACLS "C:\System Volume Information" /D User3 - запретить пользователю User3 доступ к каталогу C:\System Volume Information . В отличие от предыдущего примера, запись для пользователя User3 из таблицы ACE не удаляется, а выполняется ее добавление или изменение с признаками прав (OI)(CI)N(Право доступа имеет значение N для данного каталога, всех его подкаталогов и файлов).