Руководства по командной строке

Man » chmod Manual online - подробная онлайн-документация для страницы руководства chmod

🌍
chmod - изменить биты режима файла

СИНТАКСИС

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

ОПИСАНИЕ

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

Формат символьного режима имеет вид [ugoa...][[-+=][разрешения...]..., где "разрешения" — это либо ноль, либо более букв из набора rwxXst, либо одна буква из набора ugo. Можно указать несколько символьных режимов, разделенных запятыми.

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

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

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

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

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


БИТЫ SETUID И SETGID

`chmod` сбрасывает бит set-group-ID обычного файла, если идентификатор группы файла не совпадает с эффективным идентификатором группы пользователя или одним из дополнительных идентификаторов групп пользователя, если у пользователя нет соответствующих прав. Дополнительные ограничения могут привести к тому, что биты set-user-ID и set-group-ID в `MODE` или `RFILE` будут игнорироваться. Такое поведение зависит от политики и функциональности базового системного вызова `chmod`. Если есть сомнения, проверьте поведение базовой системы.

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

ФЛАГ ОГРАНИЧЕННОГО УДАЛЕНИЯ ИЛИ «ЛИПКИЙ» БИТ

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

ОПЦИИ

Изменяет режим каждого файла FILE на MODE. С помощью --reference изменяет режим каждого файла FILE на режим файла RFILE.

-c, --changes
аналогично `verbose`, но сообщает только при внесении изменений

-f, --silent, --quiet
подавляет большинство сообщений об ошибках

-v, --verbose
выводит диагностическое сообщение для каждого обработанного файла

--dereference
влияет на объект, на который указывает каждая символическая ссылка, а не на саму символическую ссылку

-h, --no-dereference
влияет на каждую символическую ссылку, а не на объект, на который она указывает

--no-preserve-root
не обрабатывает `/` как специальный случай (по умолчанию)

--preserve-root
предотвращает рекурсивную обработку `/`

--reference=RFILE
использует режим `RFILE` вместо указания значений `MODE`. `RFILE` всегда обрабатывается как символическая ссылка.

-R, --recursive
изменяет файлы и каталоги рекурсивно

Следующие опции изменяют способ обхода иерархии, когда также указана опция -R. Если указано более одной, действует только последняя. -H является значением по умолчанию.

-H     если аргумент командной строки является символической ссылкой на каталог, он обрабатывается

-L     обрабатывает каждую символическую ссылку на каталог

-P     не обрабатывает ни одну символическую ссылку

--help отображает эту справку и выходит

--version
выводит информацию о версии и выходит

Каждый `MODE` имеет вид `[ugoa]\*(\[-+=\]([rwxXst]\*|[ugo]))+|\[-+=\][0-7]+`.

АВТОР

Написано Дэвидом Маккензи и Джимом Мейерингом.

О СООБЩЕНИИ ОБ ОШИБКАХ

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

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

chmod(2)

Полная документация [https://www.gnu.org/software/coreutils/chmod] или доступна локально через: info '(coreutils) chmod invocation'

Упаковано Debian (9.7-3) Авторское право © 2025 Free Software Foundation, Inc. Лицензия GPLv3+: GNU GPL версии 3 или более поздней [https://gnu.org/licenses/gpl.html]. Это свободное программное обеспечение: вы можете изменять и распространять его. Гарантия отсутствует, в той мере, в которой это допускается законом.