Сначала прочитайте режим, затем меняйте его
Число из инструкции не всегда подходит вашему файлу. Разделите права на владельца, группу файла и остальных пользователей и определите необходимые действия. Калькулятор показывает одну и ту же настройку флажками, числом и строкой rwx.
Можно вставить три или четыре восьмеричные цифры либо поле прав из ls -l. При ошибке сохраняется последняя корректная настройка, а копирование команды приостанавливается. После проверки укажите путь: команда будет относиться к одному объекту.
Как складываются чтение, запись и выполнение
Внутри каждой категории чтение даёт 4, запись — 2, выполнение — 1. Поэтому rwx равно 7, r-x — 5, r-- — 4, а строка rwxr-xr-- соответствует 754. Категории идут в порядке владелец–группа–остальные и не складываются между собой.
Специальные биты занимают дополнительную первую цифру: setuid — 4, setgid — 2, sticky — 1. Например, 4755 добавляет setuid к 755, но специальный бит сам по себе не включает выполнение.
| Восьмеричный код | rwx | Право |
|---|---|---|
0 | --- | нет прав |
1 | --x | Выполнение |
2 | -w- | Запись |
3 | -wx | Запись + Выполнение |
4 | r-- | Чтение |
5 | r-x | Чтение + Выполнение |
6 | rw- | Чтение + Запись |
7 | rwx | Чтение + Запись + Выполнение |
Выполнение для каталога означает поиск
Чтение каталога позволяет получить имена записей, выполнение связано с поиском и проходом по пути, а запись — с изменениями записей. Для полезных изменений обычно нужно и право поиска. У каталога с 644 поисковых битов нет.
Удаление файла определяется прежде всего правами родительского каталога и дополнительными ограничениями. ACL, параметры монтирования и политика безопасности могут влиять на результат. Калькулятор не моделирует фактический доступ процесса.
Почему в правах встречаются S и T
Строчные s/t показывают специальный бит вместе с соответствующим выполнением. Прописные S/T — специальный бит без выполнения. В Linux setgid каталога применяется для наследования группы, sticky ограничивает удаление и переименование записей. Поведение исполняемых файлов подчиняется системным правилам.
GNU chmod может сохранять setuid/setgid каталога при числовой записи длиной до четырёх цифр. Для явного снятия документирован, например, chmod 00755 -- 'directory'. Поле калькулятора принимает трёх- и четырёхзначные режимы и не учитывает прежнее состояние файловой системы.
Примеры режимов доступа
| Восьмеричный код | rwx | Права по категориям |
|---|---|---|
644 | rw-r--r-- | Владелец читает и пишет; группа и остальные только читают. Выполнения нет. |
755 | rwxr-xr-x | У владельца все обычные права; у группы и остальных — чтение и выполнение/поиск. |
600 | rw------- | Обычное чтение и запись разрешены только владельцу файла. |
700 | rwx------ | Только владелец может просматривать имена, менять записи и искать в каталоге. |
2775 | rwxrwsr-x | Групповая запись и setgid для наследования группы в каталоге Linux. |
1777 | rwxrwxrwt | Общий каталог со sticky, ограничивающим удаление и переименование. |
chmod 644 -- 'report.txt'
chmod 755 -- 'deploy.sh'
chmod 700 -- 'private-directory'Вопросы о правах Linux
Чем 755 отличается от 644?
755 дополнительно включает выполнение для всех трёх категорий. Это может требоваться скрипту или для прохода через каталог, но обычным данным выполнение автоматически не нужно.
Можно вставить drwxr-xr-x целиком?
Да. Распознанный префикс типа игнорируется, результат — 755. Тип файла не меняется. Маркеры ACL и другие столбцы списка нужно убрать.
Стоит ли ставить 777 при Permission denied?
777 даёт всем категориям чтение, запись и выполнение. Сначала проверьте владельца, применимую категорию, родительские каталоги и дополнительные ограничения. Расширение битов не устраняет любой запрет.
Поддерживается ли запись u+x?
Относительные выражения chmod не разбираются. Вводите восьмеричный режим или rwx. Если требуется добавить только выполнение владельцу, u+x можно использовать отдельно вместо замены всех обычных битов числом.
Изменится ли файл при расчёте?
Нет. Инструмент работает в браузере и готовит команду для одного буквального пути, без выполнения и рекурсии. umask относится к созданию объектов и здесь не вычисляется.
