Skip to main content
CheckTown
Инструменты разработчика

Калькулятор chmod: Разрешения файлов Unix с примерами

Опубликовано 6 мин чтения
В этой статье

Что такое chmod?

chmod (change mode) — это команда Unix и Linux, которая устанавливает разрешения для файлов и каталогов. Каждый файл в системе Unix имеет три категории разрешений: владелец, группа и остальные. Каждая категория может независимо получить разрешения на чтение, запись и выполнение.

Понимание chmod необходимо для системного администрирования, настройки веб-серверов и безопасного управления файлами. Неправильные разрешения — одна из самых частых причин уязвимостей безопасности на серверах Linux.

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

Разрешения могут быть выражены в двух нотациях: числовой (восьмеричной) и символьной. Числовая нотация использует три цифры (напр. 755).

  • Чтение (r = 4) — просмотр содержимого файла или списка каталога
  • Запись (w = 2) — изменение содержимого файла или добавление/удаление файлов в каталоге
  • Выполнение (x = 1) — запуск файла как программы или вход в каталог через cd

Каждая цифра — сумма разрешений: 7 = чтение + запись + выполнение (4+2+1), 6 = чтение + запись (4+2), 5 = чтение + выполнение (4+1), 4 = только чтение.

Попробуйте бесплатно — без регистрации

Рассчитать разрешения chmod →

Распространённые значения разрешений

Вот наиболее часто используемые значения chmod и их типичные применения.

  • 755 (rwxr-xr-x) — стандарт для исполняемых файлов и каталогов
  • 644 (rw-r--r--) — стандарт для обычных файлов
  • 700 (rwx------) — приватный каталог или скрипт; только владелец имеет доступ
  • 600 (rw-------) — приватный файл вроде SSH-ключей; только владелец может читать и писать
  • 777 (rwxrwxrwx) — полный доступ для всех; почти никогда не уместно и представляет угрозу безопасности

Последствия для безопасности

Принцип наименьших привилегий напрямую применяется к разрешениям файлов: предоставляйте только минимально необходимые разрешения.

Специальные биты разрешений добавляют ещё один уровень: SUID, SGID и sticky bit на каталогах предотвращают удаление чужих файлов.

Советы и лучшие практики

Следуйте этим рекомендациям для поддержания безопасных разрешений.

  • Каталогам нужно разрешение на выполнение — без него пользователи не могут войти в каталог
  • Используйте рекурсивный chmod осторожно — chmod -R 755 делает все файлы исполняемыми; используйте find с -type f и -type d отдельно
  • Установите значения umask по умолчанию — umask 022 создаёт файлы с правами 644 и каталоги с правами 755

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

В чём разница между 755 и 777?

При 755 владелец имеет полный контроль, а группа и остальные могут только читать и выполнять. При 777 все имеют полный контроль. Использование 777 почти никогда не требуется и создаёт серьёзную угрозу безопасности.

Зачем каталогам разрешение на выполнение?

Бит выполнения на каталоге контролирует возможность его обхода. Без разрешения на выполнение пользователь не может войти в каталог. Поэтому каталоги обычно имеют 755, а файлы — 644.

Какие разрешения по умолчанию у новых файлов?

Разрешения по умолчанию зависят от настройки umask. При стандартном umask 022 новые файлы создаются с правами 644, а новые каталоги — с правами 755.

Похожие инструменты