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

Сорт Читать (р) Напиши (ж) Выполнить (х)
Владелец
Группа
Другие
Далее

Права доступа к файлам в Unix состоят из трёх троек, чтение, запись, выполнение для владельца, группы и остальных, которые аккуратно сворачиваются в трёхзначное восьмеричное число. chmod 755 script.sh, это rwxr-xr-x: у владельца есть все права, а группа и остальные могут читать и выполнять. Этот калькулятор позволяет переключать каждый флажок и видеть, как меняется восьмеричное значение в реальном времени, или вставить восьмеричное число и увидеть разбивку rwx, вместе с точной командой chmod, готовой к копированию.

Как работают разрешения chmod

  1. 1

    Переключить 9 бит разрешения

    Три группы (пользователь, группа, другое) × три разрешения (чтение, запись, выполнение) = 9 флажков.

  2. 2

    Каждая группа становится одной восьмеричной цифрой.

    Чтение = 4, запись = 2, выполнение = 1. Суммируйте биты, которые вы хотите включить.

  3. 3

    Прочтите полученную восьмеричную и символическую форму.

    например 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.

  4. 4

    Скопируйте команду chmod

    Инструмент показывает команду chmod для текущих прав, готовую к копированию. Примеры: chmod 755 имя файла, chmod u+x имя файла, chmod -R 755 каталог.

Значения битов разрешения

Бит Значение Значение для файлов Значение для каталогов
Чтение 4 Можно просматривать содержимое Можно получить список записей
Запись 2 Можно изменять Можно создавать/удалять/переименовывать записи
Выполнение 1 Можно запускать как программу Можно входить (cd, доступ внутрь)

Общие значения chmod

Восьмеричный Символический Типичное использование
777 rwxrwxrwx Доступно для записи всем, опасно; почти никогда не оправдано
755 rwxr-xr-x Скрипты, бинарники, каталоги
750 rwxr-x--- Скрипты, доступные только вам и вашей группе
700 rwx------ Частные скрипты (SSH, ~/.ssh)
644 rw-r--r-- Публичные документы, изображения, HTML
640 rw-r----- Конфигурации, доступные для группового чтения
600 rw------- Приватные конфигурации, приватные ключи SSH, ~/.netrc
444 r--r--r-- Опубликованные файлы только для чтения
400 r-------- Частное, только для чтения (редко правильно; используйте 600)

Специальные разрешения (редко, но важно)

  • setuid (4xxx): запускает файл от имени его владельца, независимо от того, кто его выполняет. /usr/bin/passwd использует это.
  • setgid (2xxx): для файлов запускается как группа. В каталогах новые файлы наследуют группу каталога.
  • липкий бит (1xxx): в каталогах только владелец файла может удалять/переименовывать. /tmp использует это.

Четырехзначные восьмеричные числа включают в себя следующие: chmod 4755 setuid-binary включает setuid рядом с 755.

Символический chmod

Многие администраторы предпочитают символическую форму для дополнительных изменений:

  • chmod u+x script, добавить выполнение только для владельца.
  • chmod go-w file, убрать запись для группы и прочего.
  • chmod a+r file, дать прочитать всем (пользователю, группе, другим).
  • chmod u=rw,go=r file, установите именно эти биты.
  • chmod -R 755 directory, рекурсивный.

Распространенные ошибки

  • 777 в папках загрузок: похоже, «исправляет разрешения»; фактически открывает сервер для злоумышленников. Используйте более узкую комбинацию (например, 755 с правильным владением группой).
  • chmod -R 644 для каталогов: удаляет выполнение в каталогах, поэтому вы не можете войти в них с помощью cd. Используйте 755 для каталогов, 644 для обычных файлов.
  • 0600 против 600: ноль в начале означает восьмеричное число в C и оболочке; большинство реализаций chmod принимают оба варианта.
  • Umask: новые файлы наследуют 666 минус маска. По умолчанию umask 022 дает 644 файла и 755 каталогов.

Часто задаваемые вопросы

Обычно вы хотите, чтобы владелец мог вносить изменения, а все остальные могли составлять список и перемещаться. 755 = rwx для владельца, r-x для группы и прочее, именно такая комбинация.

Почти никогда. 777 позволяет любому пользователю системы изменять файл. В многопользовательских системах это дыра в безопасности; в однопользовательских системах это ненужно (у владельца уже есть rwx с 755). Если веб-приложению требуется 777, реальным решением будет правильное владение (chown) или членство в группе.

Каталог ~/.ssh: 700. Закрытые ключи (id_rsa, id_ed25519): 600. Открытые ключи (.pub): 644. authorized_keys: 600. SSH отказывается от ключей с более широкими разрешениями в качестве меры безопасности.

chown для владельца, chgrp для группы, отдельные команды. chmod меняет только биты, а не пользователя/группу, владеющего файлом.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор цветовой палитры

Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.