Команда cacls позволяет отобразить или модифицировать дискретный список управления доступом для файла или файлов. Если есть подозрение, что пользователь не может получить доступ к файлу из-за проблем с правами доступа, можно воспользоваться утилитой cacls для анализа ситуации.

Когда после запуска утилиты cacls в правах доступа для файла или каталога обнаруживаются проблемы, то можно воспользоваться этой же командой для исправления списков управления доступом.

Вот синтаксис команды cacls:

cacls <имя_файла> [/t] [/e] [/c] [/g <пользователь|группа:разрешение> ] [/r <пользователь|группа>] [/p <пользователь|группа:разрешение>] [/d <пользователь|группа>]

Параметры команды рассматриваются в следующей таблице.

Параметры команды cacls

Параметры

Использование

<имя_файла>

Указывает файл или папку, права доступа к которым необходимо изменить. Символы * и ? можно использовать для указания нескольких файлов

/t

Заставляет команду работать со всеми файлами и папками в текущем каталоге и всех его подкаталогах

/e

Редактирует права доступа

/g <пользователь|группа:разрешение>

Предоставляет разрашение указанному пользователю или группе. Рабочие разрешения показаны в таблице ниже

/c

Заставляет команду продолжить изменение прав доступа при возникновении ошибки

/r <пользователь|группа>

Отнимает права доступа указанного пользователя.

/p <пользователь|группа:разрешение>

Заменяет права доступа указанного пользователя. Рабочие права доступа показаны в таблице ниже

/d <пользователь|группа>

Отказывает в праве доступа указанному пользователю или группе

Рабочие значения разрешений для команды cacls

Значение разрешения

Описание

F

Полный доступ

C

Изменение (запись)

W

Запись

R

Чтение

N

Нет

Когда DACL отображаются в выводе команды, кроме разрешений для определенного пользователя и группы, отображается информация о применимости каждой записи управления доступом разрешений к текущей папке, подпапкам и/или файлам. Коды для части "где" в результате работы команды рассматриваются далее.

Коды вывода команды cacls

Код вывода

Разрешения применяются к

Нет кода

Только к целевой папке

CI

К целевой папке и подпапкам

IO

Не применяется к текущему файлу или папке

OI

Целевой папке и файлам

(CI)(IO)

Только к подпапкам целевой папки

(OI)(CI)

Целевой папке, подпапкам и файлам

(OI)(IO)

Только к целевым файлам

(OI)(CI)(IO)

Только к подпапкам и файлам целевой папки

Предположим, что члены группы “Show” должны изменять документы в папке “Advert”. Для предоставления пользователям из группы “Show” прав на изменение файлов можно воспользоваться командой cacls. Для этого необходимо ввести следующую команду:

cacls "e:\advert" /p DimaIvanov\show:c /e

При использовании команды cacls для изменения существующих DACL не забудьте воспользоваться параметром /e вместе с командой. В противном случае, DACL будут заменены правами доступа, указанными в команде, вместо простого редактирования существующих прав доступа.

Если в DACL были перечислены еще десять групп пользователей, а в команде указана только одна группа, отсутствие параметра /e заставить команду создать DACL только с одной группой.