Команда 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 только с одной группой.
windows123
Как, с помощью команды “cacls”, отнять у пользователя право на Запись и Изменение какого-либо файла или папки, оставив при этом право на Чтение?