Scroll to navigation

CHMOD(1) Команды пользователя CHMOD(1)

ИМЯ

chmod — изменить биты режима доступа к файлу

СИНТАКСИС

chmod [ПАРАМЕТР]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ...
chmod [ПАРАМЕТР]... ВОСЬМЕРИЧНЫЙ-РЕЖИМ ФАЙЛ...
chmod [ПАРАМЕТР]... --reference=ОФАЙЛ ФАЙЛ...

ОПИСАНИЕ

Данная страница руководства описывает версию chmod от GNU. chmod изменяет биты режима доступа для каждого указанного файла в соответствии с РЕЖИМом, который может носить символьное представление вносимых изменений или являться восьмеричным числом, определяющим битовую комбинацию нового режима доступа.

Символьное представление имеет формат [ugoa...][[-+=][права...]...], где права содержат ноль или более букв из набора rwxXst или одну букву из набора ugo. Несколько символьных режимов доступа могут быть перечислены через запятую.

Комбинация букв ugoa определяет, для каких пользователей будет изменён доступ к файлу: для пользователя, владеющего им (u), для других пользователей, состоящих в группе файла (g), для других пользователей, не состоящих в группе файла (o), или для всех пользователей (a). Если ни одна из этих букв не указана, результат будет таким же, как при указании (a), но биты, заданные в маске режима umask, изменены не будут.

Оператор + позволяет добавить выбранные биты режима к уже существующим у каждого файла, - удаляет их, а = добавляет указанные биты и удаляет те, что не указаны, за исключением не указанных битов установки идентификатора пользователя (set user ID) и группы (set group ID) у каталогов.

Буквы rwxXst задают режим доступа к файлу для соответствующих пользователей: чтение (r), запись (w), исполнение (или поиск для каталогов) (x), исполнение/поиск только для файла, который является каталогом или уже имеет права на исполнение каким-либо пользователем (X), установка идентификатора пользователя (set user ID) или группы (set group ID) при исполнении (s), ограничение на удаление или sticky bit (t). Вместо одной или нескольких из перечисленных букв, вы можете также указать одну из букв ugo: права, выданные владельцу файла (u), права, выданные пользователям, входящим в группу файла (g), и права, выданные пользователям, которые не относятся ни к одной из предыдущих категорий (o).

Числовое представление режима доступа содержит от одной до четырёх восьмеричных цифр (0-7), получаемых сложением битов с весами 4, 2 и 1. Отсутствующие цифры считаются ведущими нулями. Первая цифра задаёт атрибуты установки идентификатора пользователя set user ID (4), группы set group ID (2) и ограниченного удаления или sticky (1). Вторая цифра задаёт права пользователя, владеющего файлом: чтение (4), запись (2) и исполнение (1); третья задаёт права других пользователей из группы файла с такими же значениями; четвёртая цифра — права пользователей, не входящих в группу файла, с такими же значениями.

chmod никогда не изменяет права на символьные ссылки; системный вызов chmod не может изменить эти права. Это не является проблемой, так как права на символьные ссылки никогда не используются. Однако, для каждой символьной ссылки, перечисленной в командной строке, chmod изменяет права на файл, на который она ссылается. При рекурсивном прохождении по каталогам, chmod, напротив, игнорирует встречающиеся символьные ссылки.

БИТЫ SETUID и SETGID

chmod удаляет бит установки идентификатора группы (set-group-ID) у обычного файла, если идентификатор группы этого файла не совпадает с эффективным идентификатором группы пользователя или идентификатором одной из его дополнительных групп, если только у пользователя нет соответствующих привилегий. Дополнительные ограничения могут привести к тому, что биты установки идентификатора пользователя (set-user-ID) и группы (set-group-ID) РЕЖИМа или ОФАЙЛа будут проигнорированы. Такое поведение зависит от политик и функциональности лежащего в основе системного вызова chmod. В случае сомнений, ознакомьтесь с низкоуровневым поведением системы.

При обработке каталогов, chmod сохраняет биты установки идентификатора пользователя (set-user-ID) и группы (set-group-ID), если вы явно не указали иначе. Вы можете установить или снять эти биты с помощью символьного представления режима доступа, например u+s или g-s. Для снятия этих битов у каталогов с использованием числового представления режима потребуется дополнительный ведущий ноль (00755), ведущий минус (-6000) или ведущий символ равенства (=755).

ФЛАГ ОГРАНИЧЕННОГО УДАЛЕНИЯ ИЛИ STICKY BIT

Флаг ограниченного удаления или sticky bit — это одиночный бит, назначение которого зависит от типа файла. Для каталогов, он предотвращает удаление или переименование файлов в каталоге непривилегированным пользователем, не являющимся владельцем этого файла или каталога; в этом случае бит носит название флага ограниченного удаления для каталога и широко применяется среди общедоступных для записи каталогов, например /tmp. Для обычных файлов на некоторых старых системах, данный бит позволяет сохранять образ текста программы на устройстве подкачки, чтобы она загружалась быстрее при запуске; в этом случае бит носит название sticky bit.

ПАРАМЕТРЫ

Изменить режим доступа для каждого ФАЙЛа на РЕЖИМ. При использовании --reference изменить режим доступа для каждого ФАЙЛа на соответствующие значения у файла ОФАЙЛ.

аналогично параметру verbose, но информировать только при внесении изменений
подавлять большинство сообщений об ошибках
выводить диагностическую информацию для каждого обработанного файла
не воспринимать «/» особым образом (по умолчанию)
отказываться от рекурсивного выполнения над «/»
вместо указания значения РЕЖИМ использовать режим доступа к ОФАЙЛу в качестве образца. Если ОФАЙЛ является символьной ссылкой, она будет предварительно разыменована.
изменять файлы и каталоги рекурсивно
отобразить эту справочную информацию и завершить работу
вывести информацию о версии и завершить работу

РЕЖИМ указывается в формате «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+».

АВТОРЫ

Программа написана Дэвидом Маккензи (David MacKenzie) и Джимом Мейерингом (Jim Meyering).

ИНФОРМАЦИЯ ОБ ОШИБКАХ

Онлайн-справка GNU coreutils: <https://www.gnu.org/software/coreutils/>
Сообщайте обо всех ошибках перевода по адресу <https://translationproject.org/team/ru.html>

АВТОРСКИЕ ПРАВА

Copyright © 2023 Free Software Foundation, Inc. Лицензия GPLv3+: GNU GPL версии 3 или выше <https://gnu.org/licenses/gpl.ru.html>.
Это свободное программное обеспечение: вы можете изменять и распространять его. Не предоставляется НИКАКИХ ГАРАНТИЙ в той мере, в которой это разрешено законом.

СМОТРИТЕ ТАКЖЕ

chmod(2)

Полная документация на <https://www.gnu.org/software/coreutils/chmod>,
также доступна локально посредством info '(coreutils) chmod invocation'

ПЕРЕВОД

Русский перевод этой страницы руководства разработал Андрей Догадкин <adogadkin@outlook.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

март 2024 г. GNU coreutils 9.4