Команда umask используется для установки прав доступа к файлам и папкам по умолчанию в операционной системе Linux.
Права доступа к файлам и папкам важны, потому что разрешение позволяет или запрещает доступ, чтение, запись и выполнение данного файла различным пользователям, группам и другим пользователям.
В этом уроке мы узнаем, как использовать команду umask для установки разрешений на чтение, запись и выполнение по умолчанию.
Синтаксис
Синтаксис команды umask очень прост, когда мы просто предоставляем разрешения.
umask PERMISSIONS
|
Права доступа
Linux – это файловая операционная система, в которой есть 3 разрешения.
- r означает чтение, т.е. указано чтение данного файла или папки
- х означает выполнение, т.е. указано выполнение данного файла. Поскольку папки не могут быть выполнены, мы не можем использовать это разрешение для папок или каталогов.
- w означает запись, т.е. запись или добавление в указанный файл или папку.
Разрешения также имеют числовое представление, как показано ниже.
читать значение + | писать значение + | выполнять значение = | числовое значение: |
символьный эквивалент: |
---|---|---|---|---|
1 | 1 | x | ||
2 | 2 | w | ||
2 | 1 | 3 | wx | |
4 | 4 | r | ||
4 | 1 | 5 | rx | |
4 | 2 | 6 | rw | |
4 | 2 | 1 | 7 | rwx |
Например, если мы хотим сделать данный файл читаемым и исполняемым, но не доступным для записи, мы можем использовать числовое значение 5 или символьное rx.
Пользователи
Операционные системы Linux используют 3 категории пользователей, такие как владелец, группа и другие.
- владелец – это пользователь, которому принадлежит файл полностью. Этот пользователь обычно имеет все права, такие как чтение, запись и выполнение. Но в некоторых случаях для предотвращения несчастных случаев некоторые разрешения могут быть изменены или удалены.
- группа – группа, которой принадлежит данный файл или каталог. Например, группа sudoer владеет некоторыми административными файлами, где они могут использовать их в соответствии со своими разрешениями.
- другие означает всех других пользователей, кроме владельца и группы. Это может быть полезно для сущностей, которые не имеют никакого отношения к данному файлу. Как правило, мы можем сделать так, чтобы файл не имел права на чтение, запись или выполнение файла для других пользователей. Но в некоторых случаях мы можем предоставить разрешение на чтение.
Значения разрешений
Мы изучили использование по умолчанию пользователя и разрешения для операционных систем Linux.
Команда umask использует этих пользователей и права немного отличаются.
На самом деле значения разрешений работают немного по-другому.
Мы делаем побитовую операцию над значениями разрешений для использования с umask.
Например, чтобы установить разрешение 775 для разрешения по умолчанию, нам нужно предоставить 002 команде umask.
Это может создать некоторые проблемы и ошибки во время использования команды umask, но мы можем проверить с помощью опции -S обычные значения разрешений для текущих файлов и папок.
2
3
|
$ umask
$ umask –S
|
Мы можем видеть, что 0022 равен разрешениям: пользователю rwx, группе rx и другим rx.
Мы можем использовать следующую таблицу для установки представления цифр разрешений umask.
Umask цифра | разрешения по умолчанию для файлов | разрешения по умолчанию для каталога |
---|---|---|
rw | rwx | |
1 | rw | rw |
2 | r | rx |
3 | r | r |
4 | w | wx |
5 | w | w |
6 | x | x |
7 | не разрешено | не разрешено |
Вывод текущих разрешений в числовом формате
Мы можем напечатать текущие разрешения umask, которые покажут разрешения по умолчанию для файлов и папок, как показано ниже.
1
|
$ umask
|
Вывод текущих разрешений в символьном формате
Мы можем использовать опцию -S с командой umask, чтобы вывести список текущих прав доступа к файлам и папкам.
Установить разрешение
Теперь мы установим разрешения по умолчанию для файлов и папок с помощью команды umask.
Как выяснилось ранее, мы будем использовать права доступа типа umask.
В этом примере мы установим права пользователя на чтение + запись + выполнение, групповое чтение + выполнение и другие ничего.
1
|
$ umask 027
|
Другой способ – использовать следующий синтаксис команды
$ umask u=rwx,g=rx,o=
|
Удалить разрешение
Мы также можем удалить существующие разрешения для владельца, группы или других лиц.
В этом примере мы удалим разрешение на выполнение группы. g используется для группы, а x используется для выполнения.
1
|
$ umask g–x
|
PHP Функция Umask
PHP – это язык программирования и он предоставляет родные функции Linux.
PHP предоставляет функцию umask, которую можно использовать для отображения и установки прав доступа к файлам и папкам по умолчанию.
В этом примере мы установим текущее разрешение для файла и папки с разрешением 0077.
1
2
3
4
5
|
<?php
umask(0077);
?>
|
Мы также можем вывести текущие права доступа к файлам и папкам без указания каких-либо параметров для функции PHP umask (), как показано ниже.
1
2
3
4
5
|
<?php
umask();
?>
|