Используем правильно команду umask в Linux

umask отображает и устанавливает маски разрешений файлов. Утилита umask используется для управления маской режима создания файла, которая определяет начальное значение битов разрешения для вновь создаваемых файлов. Поведение этой утилиты стандартизировано POSIX и описано в Руководстве программиста POSIX. Поскольку umask влияет на текущую среду выполнения оболочки, она обычно реализуется как встроенная команда оболочки.

Маска режима содержит биты разрешения, которые не должны быть установлены для вновь создаваемого файла, поэтому она является логическим дополнением к битам разрешения, устанавливаемым для вновь создаваемого файла. Если любой бит в маске установлен в 1, соответствующие разрешения для вновь создаваемого файла будут отключены. Таким образом, маска действует как фильтр, удаляющий биты разрешений и помогающий установить доступ к файлам по умолчанию.

Настройка маски разрешений для созданных файлов применяется к PREMISES. Если разрешения не указаны, выводится текущее значение маски. Если разрешения начинаются с цифры, они интерпретируются как восьмеричное число, в противном случае – как строка символьных разрешений, как в команде chmod.

Синтаксис

umask [-p] [-S] [uprawnienia]

Опции

  • -p: если UPDATE опущен, выводить в форме, пригодной для повторного использования, как input-S: выводить в символьном виде;
  • без этой опции – в восьмеричном

Разрешения

Разрешения Двоичное значение Двоичное значение
Нет разрешения - 0 000
Разрешение на выполнение -x 1 001
Разрешение на запись w 2 010
Разрешение на запись и выполнение -wx 3 011
Разрешение на чтение r- 4 100
Разрешение на чтение и выполнение r-w 5 101
Разрешение на чтение и запись rw- 6 110
Разрешение на чтение, запись и выполнение rwx 7 111

Как вычислить значение umask?

umask 0002

Первая цифра – 0, называется постоянным битом и является специальным средством защиты. Следующие три цифры представляют собой восьмеричные значения umask для файла или каталога. В приведенном выше примере команда umask выводит 0002, мы не будем пока беспокоиться о первом 0. Следующие три цифры – 002.

Каждая цифра обозначает отдельный класс пользователя. В Linux существует в общей сложности 3 класса пользователей:

  1. владелец
  2. члены группы
  3. все остальные.

Приведенный выше результат 002 показывает, что доступ для владельца равен 0, доступ для членов группы равен 0, а доступ для всех равен 2. 2 – это восьмеричное значение. Чтобы понять разрешения доступа, нам нужно преобразовать его в десятичное, 2 равно 010 в двоичном формате, что можно объяснить следующим образом: 0 для чтения, 1 для записи и 0 для выполнения. Приведенный выше результат говорит: для всех разрешена только запись.

Примеры*

Мы можем устанавливать и обновлять значение umask по умолчанию с помощью команды umask, за которой следует параметр, который должен быть целым числом в диапазоне 000-777.

umask 543

Когда мы создаем новый каталог, разрешения будут вычисляться как полные разрешения каталога – значение umask, то есть 777 – 543 = 234, что можно объяснить так:

  • 2 для владельца, то есть 010 в двоичном формате, то есть разрешения на запись для владельца
  • 3 для членов группы, то есть 011 в двоичном формате, то есть разрешения на запись и выполнение для членов группы
  • 4 для всех остальных, то есть 100 в двоичном формате, то есть разрешения только на чтение для всех остальных.
ls -lh
d-w--wxr--

Результат показывает: d здесь означает каталог, а последние 3 – разрешения для соответствующих пользователей.

С помощью umask можно также использовать символическую нотацию. Ниже в команде umask u-w, u означает пользователя, используется для удаления разрешений, а w означает разрешение на запись.

umask u -w

Использование символа <пробел> вместо предоставит пользователю соответствующие разрешения. Вы также можете использовать символ r, который используется для разрешения чтения. т. е. umask u rw

umask u+w

Более подробную информацию о команде umask можно получить, набрав: man umask<br /> umask --help.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен linuxiarze.pl

Похожие статьи

Комментарии (0)