Изменение файловых режимов (POSIX)
chmod [-H|-L|-P] [-Rv] режим файл...
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита chmod позволяет изменять любые или все биты режима полномочий доступа к файлу одного или более файлов. Для каждого указанного файла утилита chmod изменяет биты режима полномочий доступа к файлу согласно операнду режим.
Для изменения битов режима полномочий дуступа к файлу пользователь утилиты chmod должен быть владельцем файла или суперпользователем root
.
Опция режим может быть выражением символьного режима симв_режим или неотрицательным восьмеричным целым числом.
Символьные режимы
Символьный режим симв_режим имеет следующую форму:
[кто]оператор[копия|полномочия][,симв_режим]
Часть кто символьного режима представляет собой комбинацию следующих опций:
Часть оператор представляет собой один из следующих вариантов:
Часть копия определяет следующие неизмененные полномочия (т.е. существовавшие до выполнения утилиты chmod):
Часть полномочия представляет собой любую комбинацию следующих опций:
Спецификация кто является необязательной. Если она отсутствует, задействованы все полномочия (пользователя, группы и прочие), но для операторов +
и =
устанавливаются только те полномочия, которые не установлены маской создания файлов (см. umask).
Часть полномочия также является необязательной. При пропуске, значение по умолчанию отсутствует (т.е. комманда не добавляет полномочия, не удаляет полномочия и не устанавливает отсутствие полномочий, в зависимости от оператора).
Примеры символьных режимов
Назначение файла myfile исполняемым для всех:
chmod a+x myfile
Удаление полномочия группы и прочих полномочий на чтение:
chmod og-r myfile
Выполнение обеих вышеупомянутых операций в указанном порядке на трех файлах: myfile, file2 и zzz:
chmod a+x,og-r myfile file2 zzz
Добавление пользователю полномочия на чтение, удаление полномочия пользователя на запись и установка для групповых полномочий тех же значений, что и для остальных полномочий:
chmod u+r,u-w,g=o myfile
Восьмеричные режимы
В восьмеричном режиме полномочия определяются трехзначным восьмеричным числом. Три цифры представляют полномочия пользователя, группы и прочие соответственно.
Каждое полномочие можно указать с помощью восьмеричного числа:
Восьмеричное число | Символьный режим | Полномочие |
---|---|---|
0 | — | Отсутствует |
1 | –x | Выполнение |
2 | -w- | Запись |
3 | -wx | Запись/выполнение |
4 | r– | Чтение |
5 | r-x | Чтение/выполнение |
6 | rw- | Чтение/запись |
7 | rwx | Чтение/запись/выполнение |
Например, предоставление полномочий пользователю на чтение/запись/выполнение (восьмеричное число 7 = rwx), группе на чтение /выполнение (восьмеричное число 5 = r-x) и прочим – только на чтение (восьмеричное число 4 = r–) для файла myfile выполняется следующим образом:
chmod 754 myfile
Setgid и setuid
В следующей таблице показано представление в восьмеричном формате файловых режимов setgid и setuid:
Восьмеричное число | Файловый режим |
---|---|
1000 | Sticky |
2000 | Setgid |
4000 | Setuid |
6000 | Setgid and setuid |
chmod 4666 testfile
В этом случае установлен setuid, и пользователь, группа и прочие получают доступ для чтения/записи.
Если операнд режим недействителен, то утилита chmod не меняет биты файлового режима.
Базовые подсистемы ЗОСРВ «Нейтрино», POSIX
chgrp, chown, find ... -chmod ..., ls, umask
Предыдущий раздел: Утилиты