Перейти к содержимому
RunStack
Калькулятор chmod

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

Числа ⇄ rwx, спецбиты и готовые команды. Можно вставить строку из ls -l.

Можно вставить строку из ls -l целиком, например -rw-r--r--.

КтоЧтение (r=4)Запись (w=2)Выполнение (x=1)Цифра
Владелец (u)7
Группа (g)5
Остальные (o)5
Спецбиты
0

Восьмеричная

755

Символьная (ls -l)

-rwxr-xr-x

Числовая команда

chmod 755 file

Символьная команда (не зависит от текущих прав)

chmod u=rwx,g=rx,o=rx file

Частые значения

Как читать права

Права записываются тремя группами по три бита: владелец (u), группа (g) и остальные (o). В каждой группе r = 4, w = 2, x = 1, а цифра — их сумма: rwx = 7, r-x = 5, r-- = 4. Поэтому rwxr-xr-x — это 755. Первая буква в выводе ls -l — тип: «-» файл, «d» каталог, «l» символическая ссылка.

Числовая или символьная команда

chmod 640 file задаёт права целиком. Символьная форма умеет менять отдельные биты — chmod g+w file или chmod o-rwx file, — не трогая остальные. Калькулятор выводит символьную команду с «=» (u=rw,g=r,o=), поэтому результат тоже не зависит от текущих прав.

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

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

755 (rwxr-xr-x) — владелец может всё, остальные читают и запускают: так ставят на каталоги и скрипты. 644 (rw-r--r--) — владелец пишет, остальные только читают: обычные файлы, конфиги, статика сайта. Каталогу без x нельзя сделать cd и прочитать файлы внутри.

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

Любой локальный пользователь и любой процесс (включая взломанный PHP-скрипт) сможет изменить файл или подложить свой. Обычно проблема с правами решается правильным владельцем: chown www-data:www-data и 755/644, либо общей группой и 775/664.

Что делает четвёртая цифра в 2775 или 1777?

Это спецбиты: 4 — setuid, 2 — setgid, 1 — sticky. 2775 на каталоге заставляет новые файлы наследовать группу каталога, 1777 (как у /tmp) разрешает всем писать, но удалять только свои файлы.

Почему chmod 755 не снимает setgid с каталога?

GNU chmod при трёхзначном числовом режиме сохраняет setuid и setgid у каталогов. Чтобы снять их, укажите пять цифр (chmod 00755 dir) или явно: chmod g-s dir.

Какие права нужны для ключа SSH?

Приватный ключ — 600 (или 400), каталог ~/.ssh — 700, authorized_keys — 600. При более широких правах OpenSSH откажется использовать ключ с ошибкой «UNPROTECTED PRIVATE KEY FILE».