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