Шпаргалка: рассчитать исходные права через umask
Отделите маску новых объектов от режима существующего файла. Рассчитайте типичные начальные права и учтите ACL, запрошенный режим и настройки программы.
Когда открыть эту шпаргалку
umask запрещает выбранные биты при создании новых объектов. Она не является готовым режимом файла и не меняет существующие файлы. Для расчёта нужны два значения: что запросила программа и что запрещает маска.
Выбор команды
Типичные запросы 0666 для обычного файла и 0777 для каталога приведены как модель. Программа может запросить более узкие права.
| Что выяснить | Команда или выражение | Как читать результат |
|---|---|---|
| Текущая маска | umask | Числовое представление текущего процесса shell. |
| Символьное представление | umask -S | Bash показывает разрешённые классы в своей форме записи. |
| Обычная маска 022 | 0666 & ~0022 = 0644 | Типичный новый файл остаётся без execute. |
| Закрытая маска 077 | 0777 & ~0077 = 0700 | Типичный новый каталог доступен владельцу. |
| Проверка уже созданного объекта | stat -c '%a %n' -- . | Фактический режим не выводится задним числом из текущей umask. |
Короткая последовательность
В круглых скобках запускается subshell. Изменение маски внутри него не остаётся в родительской оболочке, а файлы в примере не создаются.
umask
( umask 077; umask )
umaskПроверка вывода
Первое и третье значения должны совпадать при неизменной родительской оболочке. Среднее показывает маску внутри subshell. Это иллюстрирует наследование состояния процесса, а не проверяет права всех будущих файлов приложения.
Границы применения
Default ACL родительского каталога меняет обычный путь вычисления начальных прав; учитывайте запрошенный mode и ACL отдельно. Передача уже существующего файла, chmod и создание с особыми настройками приложения не сводятся к одной формуле umask.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- Руководство umask(2)
- Руководство bash(1)
- Руководство acl(5)
Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Примеры для собственной Linux-системы с Bash и указанными утилитами. Наличие пакетов и набор опций проверьте в установленной версии; браузерный терминал поддерживает только своё подмножество.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.