Утилита umask#
Утилита umask устанавливает маску режима создания пользовательского файла или каталога и определяет предоставляемые разрешения.
Каждый файл или каталог имеет три уровня владения:
Пользователь-владелец (
u).Члены группы (
g).Другие (
o).
Каждому уровню владения могут быть назначены следующие разрешения:
Чтение (
r).Запись (
w).Выполнение (
x).
Когда создается новый файл или каталог, ему автоматически назначается набор разрешений по умолчанию, который определяется путем применения umask к базовому разрешению.
Числовое обозначение |
Символьное обозначение |
Описание |
|---|---|---|
|
|
Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены |
|
|
Все пользователи могут читать файл. Владелец может изменять файл |
|
|
Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены |
|
|
Все могут читать файл. Владелец и группа могут изменять |
|
|
Все могут читать и изменять файл |
|
|
Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены |
|
|
Все могут читать файл. Владелец может также изменять и запускать файл |
|
|
Все могут читать и запускать файл. Владелец может также изменять файл |
|
|
Все пользователи могут читать, изменять и записывать файл |
Когда обычный пользователь создает новый каталог, для umask устанавливается значение 002 (rwxrwxr-x), а для базовых разрешений созданного каталога устанавливается значение 777 (rwxrwxrwx). Каталог получает разрешения по умолчанию 775 (drwxrwxr-x). Это разрешение предполагает, что владелец и члены группы смогут выполнять все действия с файлом, в то время как другие пользователи не смогут его изменять.
Синтаксис команды umask:
umask -S <mask>
Где <mask> – маска режима создания пользовательского файла или каталога.
Опция -S позволяет отобразить значение маски в символической записи: "u=%s,g=%s,o=%s\n", где u - права владельца; g - права группы, o - права прочих. В качестве значений будут указаны комбинации букв {r, w, x}.
Пример использования#
Чтобы посмотреть текущее значение маски, используйте следующую команду:
umask
Пример вывода команды:
0022