DevToolPal
RU

Калькулятор chmod

Переводит права доступа Unix между флажками, восьмеричной (755) и символьной (rwxr-xr-x) записью, поддерживает setuid, setgid и sticky-бит и формирует готовую команду chmod.

Работает локально, без загрузки на сервер

Параметры

Права доступа

ЧтениеЗаписьВыполнениеОсобые
Владелец
Группа
Остальные

Результат

Здесь появится результат

Что умеет инструмент

Калькулятор chmod переводит права доступа к файлам Unix и Linux между тремя привычными формами записи: сеткой флажков чтения, записи и выполнения, восьмеричным числом вроде 755 и символьной строкой вроде rwxr-xr-x. Он также формирует соответствующую команду chmod в восьмеричной и символьной форме, объясняет, кто что может делать, и поддерживает особые биты setuid, setgid и sticky. Всё работает в браузере.

Как пользоваться

  1. Отметьте флажки для владельца, группы и остальных или введите режим в поле. Поле принимает восьмеричную запись (644, 0644, 4755), строки в стиле ls -l (rw-r--r-- или -rw-r--r-- с типом файла впереди) и выражения chmod вроде u=rwx,g=rx,o= или a+x.
  2. Флажки и результаты следуют за вводом, а при щелчке по флажку режим переписывается в той же записи.
  3. Укажите имя файла в Параметрах и включите Рекурсивно (-R), если режим нужно применить ко всему дереву каталогов. Готовую команду можно скопировать одним щелчком.

Типичные режимы

chmod 755 deploy.sh        # rwxr-xr-x
chmod 644 index.html       # rw-r--r--
chmod 600 ~/.ssh/id_ed25519  # rw-------
chmod 1777 /tmp            # rwxrwxrwt
  • 755 для каталогов, скриптов и программ: владелец может их менять, все — читать и запускать.
  • 644 для обычных файлов, например веб-страниц и изображений.
  • 600 для личных файлов вроде SSH-ключей и .env: читать их может только владелец. SSH отказывается использовать ключи, доступные другим.
  • 700 для личных каталогов и 775/664, когда проект делит группа пользователей.

Как устроены числа

Каждый класс пользователей получает одну восьмеричную цифру — сумму чтения = 4, записи = 2 и выполнения = 1. Для каталога чтение означает просмотр списка имён, запись — создание и удаление файлов внутри, а выполнение — вход в каталог и доступ к файлам в нём.

Необязательная ведущая цифра хранит особые биты: setuid = 4, setgid = 2, sticky = 1. В символьной записи они заменяют букву выполнения: s для setuid и setgid, t для sticky. Заглавная S или T означает, что особый бит есть, а права выполнения нет, — почти всегда это ошибка.

Калькулятор показывает и соответствующую umask — биты, которые стандартная umask убирает из 777, чтобы получить режим. При umask 022 каталоги получают 755, а файлы — 644.

Частые вопросы

› Что означает chmod 755?

Каждая цифра относится к классу пользователей: владелец, группа и остальные. 7 = чтение (4) + запись (2) + выполнение (1); 5 = чтение + выполнение. Значит, 755 разрешает владельцу всё, а остальным — читать и запускать файл; в символьной записи это rwxr-xr-x. Это обычный режим для скриптов и каталогов.

› Чем 644 отличается от 755?

У 644 (rw-r--r--) нет бита выполнения, поэтому он подходит для обычных файлов: HTML, изображений, конфигов. 755 добавляет выполнение для всех — оно нужно программам для запуска, а каталогам — чтобы в них можно было зайти.

› Почему chmod 777 — плохая идея?

777 позволяет любому пользователю системы изменить или подменить файл. На веб-сервере это значит, что любой скомпрометированный процесс может переписать ваш код. Лучше исправьте владельца через chown и используйте 755 для каталогов и 644 для файлов.

› Что такое setuid, setgid и sticky-бит?

Это четвёртая, ведущая восьмеричная цифра. setuid (4) запускает программу от имени владельца, setgid (2) — от имени группы либо заставляет новые файлы в каталоге наследовать группу, а sticky-бит (1) не даёт удалять чужие файлы в общем каталоге вроде /tmp. В выводе ls они видны как s и t на месте права выполнения.