Калькулятор chmod — права доступа к файлам Linux
Конвертация прав доступа Linux между восьмеричной записью (755, 644) и символами rwx. Готовые команды chmod и предупреждения о рискованных режимах вроде 777 — бесплатно, прямо в вашем браузере.
| Чтение (4) | Запись (2) | Выполнение (1) | Цифра | rwx | |
|---|---|---|---|---|---|
| Владелец (u) | 7 | rwx | |||
| Группа (g) | 5 | r-x | |||
| Остальные (o) | 5 | r-x |
- Числовой (абсолютный) режим
chmod 755 file- Символьный режим
chmod u=rwx,go=rx file- Рекурсивно (-R)
chmod -R 755 dir- Только каталоги
find dir -type d -exec chmod 755 {} +- Только файлы
find dir -type f -exec chmod 644 {} +
Совет: chmod -R u+rwX добавляет выполнение только каталогам и файлам, которые уже исполняемые, — безопаснее, чем сплошной -R 755.
В Linux числовой chmod вроде 755 сохраняет существующие setuid/setgid на каталогах — снимайте их явно через 00755, =755 или u-s,g-s (BSD/macOS снимает их по умолчанию).
Текущий режим файла: stat -c '%a' file (Linux) · stat -f '%Lp' file (macOS)
Калькулятор umask
effective = base & ~umask
Таблица прав доступа Linux: типичные значения chmod
| Восьмеричное | Символьное | Типичное применение | Владелец | Группа | Остальные |
|---|---|---|---|---|---|
| 400 | r-------- | Приватный ключ SSH (только чтение) | r-- | --- | --- |
| 600 | rw------- | Приватные файлы, ключи SSH | rw- | --- | --- |
| 644 | rw-r--r-- | Веб-страницы, файлы конфигурации | rw- | r-- | r-- |
| 664 | rw-rw-r-- | Файлы, редактируемые группой | rw- | rw- | r-- |
| 666 | rw-rw-rw- | Может редактировать любой — избегайте | rw- | rw- | rw- |
| 700 | rwx------ | Приватные каталоги | rwx | --- | --- |
| 755 | rwxr-xr-x | Скрипты, веб-каталоги | rwx | r-x | r-x |
| 775 | rwxrwxr-x | Общие каталоги группы | rwx | rwx | r-x |
| 777 | rwxrwxrwx | Разрешено всё и всем — избегайте | rwx | rwx | rwx |
| 1777 | rwxrwxrwt | Общие временные каталоги (/tmp) | rwx | rwx | rwt |
Цифры прав доступа 0–7 в одной таблице
| Цифра | Двоичное | rwx | Значение |
|---|---|---|---|
| 0 | 000 | --- | Нет прав |
| 1 | 001 | --x | Только выполнение |
| 2 | 010 | -w- | Только запись |
| 3 | 011 | -wx | Запись + выполнение |
| 4 | 100 | r-- | Только чтение |
| 5 | 101 | r-x | Чтение + выполнение |
| 6 | 110 | rw- | Чтение + запись |
| 7 | 111 | rwx | Чтение + запись + выполнение |
Что такое chmod?
chmod — change mode, «изменить режим» — это команда Unix и Linux, задающая, кто может читать, записывать или выполнять файл. Каждый файл хранит девять битов прав в трёх группах (владелец, группа, остальные), и chmod принимает их либо восьмеричным числом в числовом (абсолютном) режиме, например chmod 755, либо буквами в символьном режиме, например chmod u=rwx,go=rx. Обе записи описывают одни и те же биты; этот калькулятор переводит между ними на лету.
Восьмеричная запись работает потому, что каждое право — степень двойки: чтение — 4, запись — 2, выполнение — 1, а одна цифра на класс — просто их сумма. Так 7 — это всё сразу (4+2+1), 5 — чтение плюс выполнение, 6 — чтение плюс запись, 0 — ничего. Прочитайте rwxr-xr-x слева направо тройками — получится 7, 5, 5. Четвёртая, ведущая цифра кодирует специальные режимы — setuid (4), setgid (2) и sticky-бит (1); так возникают 4755 и 1777, а в символьной строке их присутствие видно как s или t на месте x.
Права доступа — первый слой безопасности Unix, и большинство повседневных проблем с правами сводится к горстке шаблонов: скрипту, который не запускается, нужно выполнение (u+x); каталог, в который не войти, лишён бита x; веб-ресурс должен быть 644 с каталогами 755 над ним; приватный ключ обязан быть 600, иначе OpenSSH откажется его использовать. Ошибки группируются так же — во главе с печально известным chmod 777, который «чинит» ошибки доступа, раздавая право записи каждой учётной записи на машине. Эта страница собирает арифметику, символы, готовые команды и предупреждения о рисках в одном месте, а поскольку восьмеричная запись — просто система счисления с основанием 8, устройство позиционной арифметики можно изучить в конвертере систем счисления.
# Make a script executable, then verify with ls -l $ ls -l deploy.sh -rw-r--r-- 1 jack staff 512 Jul 17 10:00 deploy.sh $ chmod 755 deploy.sh $ ls -l deploy.sh -rwxr-xr-x 1 jack staff 512 Jul 17 10:00 deploy.sh # The symbolic equivalent of 755 $ chmod u=rwx,go=rx deploy.sh # Read the current mode as a number $ stat -c '%a' deploy.sh # Linux → 755 $ stat -f '%Lp' deploy.sh # macOS → 755
Ключевые возможности
Три представления, одно состояние
Матрица флажков, восьмеричное число и символьная строка rwx — все три поля живые: отредактируйте любое из них, и остальные два мгновенно обновятся, в обоих направлениях.
Специальные биты как положено
setuid, setgid и sticky-бит — полноправные участники: четвёртая восьмеричная цифра, правила регистра s/S и t/T и корректные символьные конструкции (u+s, g+s, a+t) отображаются ровно так, как их понимает chmod.
Вставляйте ls -l как есть
Бросьте целую строку ls -l в символьное поле — символ типа файла, точка SELinux, плюс ACL и @ из macOS обрабатываются автоматически — и получите восьмеричный режим без ручной обрезки.
Команды, которые действительно можно запускать
Числовая, символьная, рекурсивная и более безопасная пара find -type d / find -type f — каждая с кнопкой копирования; плюс команда stat для чтения текущего режима файла и заметка про снятие setuid с каталогов в GNU.
Предупреждения о рисках по мере ввода
Режимы с записью для всех подсвечиваются сразу: 777 и 666 помечаются отдельно, любой бит записи для остальных вызывает предупреждение, а 1777 корректно распознаётся как шаблон общего каталога со sticky-битом, а не ошибка.
umask, таблицы и постоянные ссылки
Встроенный калькулятор umask показывает, что получат новые файлы и каталоги, две справочные таблицы покрывают типичные режимы и цифры 0–7, а «Копировать ссылку» делится точным состоянием — всё на 100% в вашем браузере.
Примеры прав доступа chmod
755 — стандарт для скриптов и веб-каталогов
755
rwxr-xr-x — chmod 755 file · chmod u=rwx,go=rx file
Режим 755 даёт владельцу полный контроль (чтение + запись + выполнение = 4 + 2 + 1 = 7), а группа и остальные могут читать и выполнять, но не изменять (4 + 1 = 5). Ровно это нужно скрипту деплоя или публичному веб-каталогу: сервер может обходить и отдавать содержимое, но менять его вправе только владелец. Калькулятор показывает обе формы команды — числовую 755 и символьный эквивалент u=rwx,go=rx, — а рецепт «только файлы» автоматически опускается до 644, потому что обычным файлам не нужны лишние биты выполнения.
600 — закрыть приватный файл для всех, кроме владельца
600
rw------- — владелец читает и пишет, остальные не видят ничего
Режим 600 (rw-------) — правильная настройка для приватных ключей SSH, файлов .env, учётных данных API и всего прочего, что не должна открывать ни одна другая учётная запись на машине. OpenSSH строго следит за этим: ключ, доступный группе или остальным, отклоняется со знаменитой ошибкой «Permissions 0644 ... are too open». Загрузите чип 600, скопируйте chmod 600 file — и панель рисков будет молчать: это принцип минимальных привилегий в действии.
4755 — анатомия setuid: почему x превращается в s
4755
rwsr-xr-x — в позиции выполнения владельца показан s вместо x
Ведущая 4 — это setuid-бит: кто бы ни запускал программу, она выполняется с привилегиями владельца файла — именно так passwd обновляет принадлежащий root файл от имени обычного пользователя. В символьной форме позиция выполнения владельца меняется с x на s (строчная s означает, что выполнение тоже установлено; заглавная S означала бы setuid без выполнения — почти всегда ошибка). Калькулятор отображает четвёртую восьмеричную цифру, отмечает флажок setuid и показывает предупреждение: исполняемые файлы с setuid заслуживают осознанной проверки.
Расшифровка вывода ls -l — вставьте строку целиком
drwxr-xr-x 5 jack staff 160 Jul 17 dist
755
Скопируйте строку прямо из вывода ls -l и вставьте её в символьное поле — обрезать ничего не нужно. Инструмент читает первый токен drwxr-xr-x, распознаёт ведущую d как символ типа файла (каталог), а не право доступа, спокойно относится к точке SELinux, плюсу ACL и @ из macOS, которые добавляют некоторые системы, и конвертирует оставшиеся девять символов в восьмеричное 755. Это самый быстрый способ ответить на вопрос «какое это число?» во время код-ревью или инцидента, и он одинаково работает с l символьных ссылок и - обычных файлов.
Как пользоваться калькулятором chmod
- 1
Задайте права любым удобным способом
Отмечайте флажки чтения, записи и выполнения по классам, введите восьмеричный режим вроде 755 или 4755 либо начните с готового чипа — ключ SSH 400, приватный файл 600, веб-файл 644, скрипт 755 и другие.
- 2
Читайте все три представления сразу
Матрица флажков, восьмеричное значение и символьная строка rwx синхронизированы во всех направлениях; каждая строка показывает свою цифру и свой трёхсимвольный фрагмент по мере работы.
- 3
Скопируйте нужную команду
Пять готовых к запуску вариантов обновляются на лету: числовой режим, символьный эквивалент с умной группировкой, рекурсивный -R и более безопасная пара «только каталоги» / «только файлы» на основе find -type.
- 4
Расшифровывайте существующие права
Вставьте полную строку ls -l — вместе с символом типа файла и маркерами ACL — в символьное поле и мгновенно получите восьмеричное значение, включая специальные биты.
- 5
Проверьте umask и поделитесь результатом
Секция umask показывает, что получат новые файлы и каталоги, а «Копировать ссылку» сохраняет текущий режим в URL, который удобно вставить в код-ревью или документацию.
Частые ошибки при работе с chmod
«Чинить» Permission denied через 777
Открытие режима всему миру обычно маскирует проблему владельца, а не решает её, — и оставляет каждой учётной записи на машине возможность менять ваши файлы. Сначала исправьте владельца; режим держите строгим.
sudo chmod -R 777 /var/www # доступ появился, безопасность исчезла
sudo chown -R www-data:www-data /var/www # чиним владельца, оставляем 755/644
Сплошной chmod -R на каталоге загрузок
Рекурсивные числовые режимы бьют по файлам и каталогам одним значением: 755 делает каждую картинку и документ «исполняемыми», а 777 — доступными на запись всем. Разделяйте рекурсию по типу.
chmod -R 777 uploads/
find uploads -type d -exec chmod 755 {} + && find uploads -type f -exec chmod 644 {} + Забыть, что каталогам нужно выполнение
Бит x на каталоге означает «можно войти и пройти насквозь». В каталог 644 нельзя сделать cd даже тем, кто может показать его содержимое, — отсюда сбивающие с толку Permission denied уровнем глубже.
chmod 644 reports/ # cd reports/ → Permission denied
chmod 755 reports/ # каталогам нужен x, чтобы в них можно было войти
Выкатить скрипт без бита выполнения
Свежесозданный файл наследует значения umask вроде 644, поэтому ./script.sh падает с Permission denied, пока выполнение не добавлено хотя бы владельцу. CI-раннеры и entrypoint в Docker натыкаются на это постоянно.
./deploy.sh # bash: ./deploy.sh: Permission denied
chmod u+x deploy.sh && ./deploy.sh
Что можно делать с калькулятором chmod
- Безопасный деплой на веб-серверы
- Задайте 755 каталогам и 644 файлам в корне nginx или Apache с помощью сгенерированных команд find и дайте панели рисков подтвердить, что ничто не доступно на запись всем, прежде чем выкладывать. Если каталогу нужна ещё и базовая аутентификация, пригодится генератор htpasswd.
- Исправление прав ключей SSH
- Чипы 400 и 600 дают ровно то, чего OpenSSH требует от приватных ключей, а FAQ разбирает ошибку «Permissions 0644 ... are too open», которая появляется, когда ключ остался читаемым для группы.
- Расшифровка прав при разборе инцидентов
- Вставляйте строки ls -l из продакшен-шелла прямо в символьное поле и превращайте rwxr-sr-x в 2755, не считая биты в уме, — специальные режимы, маркеры ACL и символы типа файла распознаются автоматически.
- Правильные режимы для хостинга и FTP
- Панели управления и FTP-клиенты запрашивают числовые режимы: 755 для public_html, 644 для страниц, 600 для конфигураций с учётными данными. Загрузите пресет, сверьтесь с таблицей, скопируйте число — без угадывания.
- Подготовка контейнеров и CI-скриптов
- Entrypoint-файлам и hook-скриптам нужен u+x, прежде чем Docker или CI-раннер сможет их выполнить, а смонтированные тома наследуют режимы хоста. Сгенерируйте точный chmod для каждого случая здесь, а запуск по расписанию настройте в генераторе crontab.
Как устроены права доступа к файлам в Linux
- Восьмеричная арифметика: 4 + 2 + 1
- Каждый класс пользователей получает одну восьмеричную цифру, и цифра — это сумма: чтение = 4, запись = 2, выполнение = 1. Существуют все восемь комбинаций: 0 — ничего, 1 — только выполнение, 2 — только запись, 3 — запись + выполнение, 4 — только чтение, 5 — чтение + выполнение, 6 — чтение + запись, 7 — всё сразу. Режим вроде 640 читается так: владелец 6 (чтение + запись), группа 4 (только чтение), остальные 0 (ничего). Таблица цифр на этой странице перечисляет все восемь строк, а матрица показывает, как та же сумма складывается по мере отметки флажков.
- Числовой (абсолютный) режим против символьного
- chmod принимает одни и те же биты двумя способами. Числовой режим задаёт полный результат — chmod 755 file заменяет всё, что было раньше. Символьный режим описывает изменение относительно текущего состояния: chmod u=rwx,go=rx file задаёт классы явно, а chmod g+w file переключает один бит и не трогает остальное. Числовой идеален для приведения к известному состоянию в скриптах и деплое; символьный незаменим для точечных правок вроде u+x. Этот калькулятор выдаёт оба варианта, автоматически объединяя классы (go=rx, a=rwx) так, как их пишут опытные администраторы.
- setuid, setgid и sticky-бит
- Четвёртая, ведущая восьмеричная цифра кодирует специальные режимы: setuid = 4000 запускает исполняемый файл с привилегиями владельца, setgid = 2000 делает то же для группы (а новые файлы в каталоге наследуют его группу), sticky-бит = 1000 на общем каталоге разрешает удаление только владельцу каждого файла — канонический пример 1777 у /tmp. В ls -l они занимают позицию выполнения: строчные s или t, когда выполнение тоже установлено, заглавные S или T — когда нет (обычно это ошибка конфигурации, которую стоит проверить). Тонкость GNU/Linux: числовой chmod намеренно сохраняет существующие setuid/setgid на каталогах — снимайте их пятизначным режимом вроде 00755, конструкцией =755 или u-s,g-s, как описано в руководстве GNU coreutils. BSD и macOS снимают их числовыми режимами по умолчанию.
- Как umask формирует новые файлы
- Свежесозданные файлы начинают с базы 666, каталоги — с 777; затем umask процесса выключает содержащиеся в нём биты — итоговый режим = base & ~umask. Umask по умолчанию 022 маскирует запись для группы и остальных, давая привычные 644 для файлов и 755 для каталогов. Более строгий 077 даёт 600 и 700, оставляя всё приватным для владельца; 002 для совместной работы даёт 664 и 775 — группа может писать. Секция umask на этой странице выполняет этот расчёт вживую для обеих баз.
Лучшие практики работы с правами доступа
- Выдавайте минимально достаточные права
- Начинайте с самого строгого режима и открывайте только то, что ломается: 600 для приватных файлов, 644 для доступных всем на чтение, 755 — лишь там, где выполнение или вход действительно нужны. Каждый лишний бит записи расширяет поверхность атаки.
- По умолчанию: файлы 644 внутри каталогов 755
- Эта пара покрывает почти каждый веб-корень, рабочую копию репозитория и сценарий общего чтения. Обычным файлам выполнение нужно редко; каталогам оно нужно всегда, чтобы в них входить, — путаница между этими двумя вызывает большинство повседневных ошибок с правами доступа.
- Рекурсия через find -type, а не сплошной -R
- chmod -R 755 помечает каждый файл исполняемым. Используйте команды «только каталоги» и «только файлы», которые генерирует инструмент, или заглавную X GNU chmod (u+rwX,go+rX) — она добавляет выполнение только там, где ему место.
- Никогда не оставляйте 777 там, куда достаёт сервер
- Веб-корни и каталоги загрузок с записью для всех — хрестоматийный путь к подброшенным файлам и дефейсу. Если писать должны несколько учётных записей, предпочтите общую группу с 775 или 2775 (setgid сохраняет группу-владельца) открытию режима всему миру.
- Держите SSH-ключи на 600 — или 400, если менять их больше не нужно
- OpenSSH наотрез отказывается от приватных ключей, читаемых группой или всеми. 600 — рабочий стандарт; 400 дополнительно защищает от случайной перезаписи ключ, который вы не собираетесь редактировать. Публичным ключам и authorized_keys достаточно 644.
Часто задаваемые вопросы о калькуляторе chmod
Что означает chmod 777?
Опасен ли chmod 777?
Чем chmod 755 отличается от 644?
Как исправить «Permissions 0644 for 'id_rsa' are too open»?
Чем chmod отличается от chown?
Что делает chmod +x?
Как рекурсивно применить chmod ко всем файлам и папкам?
Загружаются ли мои данные при использовании калькулятора?
Похожие инструменты
Все инструменты →Конвертер систем счисления — bin, hex, dec, oct
Конвертеры
Конвертация между системами счисления — двоичной, hex, десятичной, восьмеричной и любой базой 2-36 мгновенно. Бесплатно, приватно — вся обработка в браузере.
Конвертер цветов — HEX, RGB, HSL и OKLCH
Конвертеры
Конвертируйте HEX в RGB, HSL, OKLCH, OKLAB и CMYK прямо в браузере — копируйте любой формат в один клик. Бесплатно, без регистрации, ваши цвета никогда не покидают страницу.
Конвертер HEX в CMYK
Конвертеры
Конвертируйте HEX-цвета в CMYK прямо в браузере. Наивное приближение на основе sRGB для предпросмотра печати. Бесплатно, без регистрации, ваши цвета остаются локально.
Конвертер HEX в HSL
Конвертеры
Конвертируйте любой HEX-цвет в HSL прямо в браузере — поддерживаются 3-значные, 6-значные и 8-значные HEX с альфой. Бесплатно, мгновенно, без регистрации, ваши цвета никогда не покидают страницу.
Конвертер HEX в OKLCH
Конвертеры
Конвертируйте HEX в OKLCH для токенов дизайна Tailwind v4. Живой перцептивно-равномерный вывод с предупреждениями цветового охвата Display P3. Бесплатно, только в браузере.
Конвертер HEX в RGB
Конвертеры
Конвертируйте любой HEX-код цвета в RGB прямо в браузере — поддерживаются 3-значные, 6-значные и 8-значные HEX с альфой. Бесплатно, мгновенно, без регистрации, ваши цвета никогда не покидают страницу.