Chmod калькулятор

Переводит права доступа Linux между цифрами и буквами, считает setuid, setgid и sticky и собирает команду chmod.

Кому Чтениеr · 4 Записьw · 2 Запускx · 1 Цифра
Владелец 6
Группа 4
Остальные 4
Специальные биты0
Частые значения

Что означают цифры

Права записывают тремя цифрами: владелец, группа, остальные. Каждая цифра складывается из трёх чисел:

  • 4 — чтение;
  • 2 — запись;
  • 1 — запуск.

Отсюда 6 это чтение с записью, 5 — чтение с запуском, 7 — всё сразу. Больше 7 цифра не бывает, поэтому записи вроде 788 не существует.

Четвёртая цифра впереди задаёт специальные биты: setuid стоит 4, setgid 2, sticky 1. Её пишут, только когда такой бит нужен: 4755, 2775, 1777. Ведущий ноль ничего не меняет, 0644 и 644 значат одно и то же.

Почему в ls -l бывает заглавная S

Спецбиты в строке ls -l занимают то же место, что и право на запуск. Если запуск разрешён, стоит строчная буква: rwsr-xr-x у setuid, rwxrwxrwt у sticky. Если запуск не разрешён, буква заглавная: rwSr--r--, rwxrwxrwT. Заглавная означает, что бит выставлен, но применить его не к чему.

У файла и у каталога права значат разное

У файла всё просто: читать, изменять, запускать. У каталога чтение показывает список имён, запись разрешает создавать и удалять файлы внутри, а запуск даёт зайти внутрь и открыть файл по имени. Каталог без права на вход бесполезен: имена видно, а сами файлы недоступны.

Setgid у каталога работает иначе, чем у файла: новые файлы внутри получают группу каталога, а не основную группу того, кто их создал. Так держат папку, в которую пишет несколько человек. Sticky тоже про каталоги: удалить файл внутри может только его владелец, и на этом держится общий доступ к /tmp.

Что chmod 755 не снимет у каталога

Команда chmod у каталога сохраняет setuid и setgid, если в записи их не назвали. Значит, chmod 755 не снимет setgid с общей папки: он там и останется. Чтобы снять бит, пишут chmod g-s или запись из пяти цифр, chmod 00755. Это поведение GNU coreutils, проверено на chmod 9.4.

Права 777 открывают запись всем, кто попал на машину. Обычному файлу сайта хватает 644, каталогу 755, ключу и файлу с паролем базы — 600.

Другие инструменты