Шпаргалки / Объяснение

Шпаргалка: рассчитать исходные права через umask

Отделите маску новых объектов от режима существующего файла. Рассчитайте типичные начальные права и учтите ACL, запрошенный режим и настройки программы.

Начальный6 минОбщие принципы LinuxGNU Coreutils · documented stable optionsBash · pipeline semantics

Когда открыть эту шпаргалку

umask запрещает выбранные биты при создании новых объектов. Она не является готовым режимом файла и не меняет существующие файлы. Для расчёта нужны два значения: что запросила программа и что запрещает маска.

Выбор команды

Типичные запросы 0666 для обычного файла и 0777 для каталога приведены как модель. Программа может запросить более узкие права.

Что выяснитьКоманда или выражениеКак читать результат
Текущая маскаumaskЧисловое представление текущего процесса shell.
Символьное представлениеumask -SBash показывает разрешённые классы в своей форме записи.
Обычная маска 0220666 & ~0022 = 0644Типичный новый файл остаётся без execute.
Закрытая маска 0770777 & ~0077 = 0700Типичный новый каталог доступен владельцу.
Проверка уже созданного объектаstat -c '%a %n' -- .Фактический режим не выводится задним числом из текущей umask.

Короткая последовательность

В круглых скобках запускается subshell. Изменение маски внутри него не остаётся в родительской оболочке, а файлы в примере не создаются.

Локальная Linux-система
umask
( umask 077; umask )
umask

Проверка вывода

Первое и третье значения должны совпадать при неизменной родительской оболочке. Среднее показывает маску внутри subshell. Это иллюстрирует наследование состояния процесса, а не проверяет права всех будущих файлов приложения.

Границы применения

Default ACL родительского каталога меняет обычный путь вычисления начальных прав; учитывайте запрошенный mode и ACL отдельно. Передача уже существующего файла, chmod и создание с особыми настройками приложения не сводятся к одной формуле umask.

Технические источники

Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.

  • Руководство umask(2)
  • Руководство bash(1)
  • Руководство acl(5)

Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.

Примеры для собственной Linux-системы с Bash и указанными утилитами. Наличие пакетов и набор опций проверьте в установленной версии; браузерный терминал поддерживает только своё подмножество.

От материала к практике

Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.

Поиск по Linux

Поиск локальный. ↑ ↓ — перейти к результату, Enter — открыть.

Навигация