CHMOD(1)

ИМЯ
chmod - изменить биты режима (прав) доступа к файлу

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

ОПИСАНИЕ
Эта страница руководства документирует версию GNU chmod. chmod изменяет биты режима (прав) доступа к каждому указанному файлу в соответствии с указанным значением параметра РЕЖИМ, который может быть представлен как в символьном виде, так и в виде восьмеричного числа, представляющего битовую маску для битов нового режима доступа.

Формат символьного режима таков: [ugoa...][[-+=][perms...]...], где perms либо последовательнось, содержащая от нуля до нескольких букв из набора rwxXst, либо одна буква из набора ugo. Могут быть заданы несколько символов режима (прав) доступа, разделенные запятыми.

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

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

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

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

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

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

chmod сохраняет установленные биты ID-идентификатора пользователя (the set-user-ID) и группы (set-group-ID) для каталога, если явно не указано другое. Можно установить или очистить биты с помощью представления параметров РЕЖИМа в символьном виде, например, u+s или g-s, и установить (но не очистить) биты с числовым режимом. (Так, 'chmod g-s file' снимает бит set-group-ID (sgid), 'chmod ug+s file' устанавливает биты suid и sgid, в то время как 'chmod o+s file' ничего не делает).

ФЛАГ ОГРАНИЧЕННОГО УДАЛЕНИЯ ИЛИ STICKY-БИТ
Флаг ограниченного удаления или sticky-бит - это один бит, интерпретация которого зависит от типа файла. Для каталогов он запрещает непривилегированным пользователям удаление или переименование файла в каталоге, если только эти пользователи не являются владельцами такого файла или каталога; он так и называется флаг ограниченного удаления для каталога, и обычно его можно увидеть в настройках общедоступных каталогов, например, /tmp. Для обычных файлов на некоторых старых системах такой бит сохраняет образ текста программы на устройстве подкачки, чтобы программа загружалась быстро при запуске; это называется sticky (липкий) bit.

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

-c, --changes
    тоже, что и --verbose, но вывод только при изменениях

-f, --silent, --quiet
    не выдавать большую часть сообщений об ошибках

-v, --verbose
    подробный вывод о действиях или отсутствии действий для каждого обработываемого файла

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

--preserve-root
    завершить с ошибкой при рекурсивном изменении для '/'

--reference=СФАЙЛ
    использовать режим (права) файла СФАЙЛ вместо значения РЕЖИМ

-R, --recursive
    рекурсивно измененять группы для каталогов и их содержимого

--help
    выдать подсказку на стандартный вывод и успешно завершиться

--version
    выдать информацию о версии на стандартный вывод и успешно завершиться

Любой РЕЖИМ представляется в виде '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

АВТОР
Написано David MacKenzie и Jim Meyering

ИНФОРМАЦИЯ ОБ ОШИБКАХ
GNU coreutils помощь онлайн: <http://www.gnu.org/software/coreutils/>
Сообщить об ошибках перевода : <http://translationproject.org/team/>

АВТОРСКИЕ ПРАВА
Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
Свободное программное обеспечение: можно свободно изменять и распространять его. БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, в той мере, в какой это разрешено законом.

СМОТРИ ТАКЖЕ
chmod(2)

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

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003
АстраЛинукс апрель 2020 - перевод CHMOD "1" "February 2017" "GNU coreutils 8.26" "User Commands"