devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

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

Права Unix во всех видах сразу: чекбоксы, восьмеричный код и символьная запись из ls синхронизированы, а SUID, SGID и sticky bit объяснены.

чтение
запись
запуск
Владелец (u)
Группа (g)
Остальные (o)
chmod 755 file
chmod u=rwx,g=rx,o=rx file

Читаем и пишем права Unix

Три представления одних и тех же девяти битов, синхронизированные между собой: отметьте чекбоксы, введите восьмеричный код вроде 755 или вставьте символьную строку прямо из ls -l — вместе с ведущим символом типа файла и буквами s/S/t/T специальных битов. Инструмент показывает команду chmod и в восьмеричной, и в форме u=rwx,g=rx,o=rx.

Специальные биты — то место, где права понимают неправильно чаще всего, поэтому они объяснены по месту: SUID исполняет бинарник от имени владельца, SGID заставляет каталоги наследовать группу, а sticky bit — причина, по которой в /tmp писать могут все, но удалить ваши файлы можете только вы.

Почему в восьмеричном коде бывает четыре цифры?

Ведущая цифра кодирует специальные биты: 4 = SUID, 2 = SGID, 1 = sticky, суммируются. 4755 — SUID-бинарник root вроде passwd; 1777 — общедоступный sticky-каталог вроде /tmp; 2775 — общий каталог группы.

Чем отличаются s и S в выводе ls?

Строчная s — установлены и специальный бит, и бит исполнения. Заглавная S — специальный бит есть, а исполнения нет; почти всегда это ошибка: SUID без права запуска не делает ничего.

Какие права ставить конфигам и SSH-ключам?

600 (чтение и запись только владельцу) для секретов — SSH откажется от приватного ключа, доступного другим. 644 для обычных конфигов, 755 для каталогов и исполняемых файлов. Если инструмент жалуется на «слишком открытые права», ответ почти всегда 600.

chmod 777 — это вообще когда-нибудь правильно?

Практически никогда. Файл становится доступен на запись каждому аккаунту машины, включая скомпрометированный веб-сервер. Когда писать должны несколько пользователей, правильные средства — общая группа с SGID на каталоге или ACL, а не запись для всех.

Смежные инструменты: Анализатор Dockerfile, Валидатор манифестов K8s и Разбор cron.