Разработка и эксплуатация

Инструменты для Linux и shell

Вопросы про права доступа и shell — мелкие, но легко ошибиться под давлением: действительно ли значение chmod даёт нужный доступ, почему новый файл получил не те права, или будет ли аргумент со спецсимволами интерпретирован оболочкой раньше, чем его увидит скрипт. На странице — калькуляторы прав, экранирование аргументов shell, декодирование битовых масок capabilities и разбор командной строки POSIX.

Калькулятор chmod переводит между символами rwx и восьмеричным режимом и объясняет специальные биты вроде setuid и sticky, а калькулятор umask показывает рядом, как заданная маска меняет права по умолчанию для новых файлов и директорий. Экранирование shell правильно оформляет аргументы для POSIX, Bash или PowerShell, чтобы они дошли до программы как есть, а не были переинтерпретированы. Всё работает с введёнными значениями и строками, ничего никуда не отправляется.

5 инструментов

Вопросы об инструментах категории «Linux & Shell»

Что на самом деле делает umask с правами новых файлов?

umask вычитает биты прав из значения по умолчанию для процесса, поэтому маска 022 убирает права на запись для группы и остальных у новых файлов и директорий. Калькулятор umask сразу сравнивает получившиеся права файла и директории для заданной маски — это понятнее, чем вычитать восьмеричные значения вручную.

Как безопасно передать в shell-команду имя файла с пробелами или спецсимволами?

Правила кавычек различаются между POSIX-оболочками, Bash и PowerShell, и ошибка в них позволяет оболочке разбить или переинтерпретировать аргумент раньше, чем его увидит программа. Экранирование shell оформляет аргумент правильно для целевой оболочки, чтобы он пришёл одной строкой.

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

755 даёт владельцу чтение, запись и выполнение, а группе и остальным — только чтение и выполнение, что типично для директории или исполняемого скрипта. 644 даёт владельцу чтение и запись, а группе и остальным — только чтение, обычный режим для файла с данными. Калькулятор chmod показывает оба варианта в символах и восьмеричном виде рядом.