Настройка Umask в Linux
При создании файла или директории, среда операционной системы присваивает им определенные права доступа по умолчанию, и umask — это пользовательская маска user mask, которая используется для определения конечных прав доступа.
В процесс определения режима доступа ко вновь создаваемым файлам и каталога вмешивается так называемая маска umask, значение которой равно 0002 или 0022.
В операционной системе Linux базовые права для директории равны 0777 или rwxrwxrwx, а для файла 0666 или rw-rw-rw.
umask 0002 используется для root пользователя. С этой маской права по умолчанию, для директории, равны 775, а для файла 664.
umask 0022 используется для обычного пользователя. С этой маской права по умолчанию, для директории, равны 755, а для файла 644.
Подсчет прав
Как посчитать и определить права файла для маски 022:
- Права по умолчанию: 666
- Вычитаемое значение umask: 022 (-)
- Итоговые права: 644
Как посчитать и определить права директории для маски 022:
- Права по умолчанию: 777
- Вычитаемое значение umask: 022 (-)
- Итоговые права: 755
Установка umask по умолчанию
Umask для всех пользователей по умолчанию устанавливается в файлах /etc/.bashrc или /etc/.profile.
Проверяем текущее значение маски:
umask
Установка нового значения маски 0002:
umask 0002
По умолчанию настройки umask будут применяться только к текущей сессии. При следующем входе в систему любым новым файлам и каталогам будут заданы исходные параметры, установленные дистрибутивом системы. Чтобы настройки umask оставались в силе даже после перезагрузки, их нужно внести в файлы.
Меняем значение umask по умолчанию на всегда для root:
sudo nano /etc/login.defs
Измените следующую строку:
umask 000
Меняем значение umask по умолчанию на всегда для всех пользователей:
sudo nano /etc/profile
Добавьте следующую строку в начале файла:
umask 000
Пример
Цифровое обозначение состоящие из трех чисел распределяется по формуле Владелец - Группа - Остальные, просто нужно запомнить какая цифра за что отвечает:
0никаких прав1только выполнение2только запись3выполнение и запись4только чтение5чтение и выполнение6чтение и запись7чтение запись и выполнение
Пример umask с различными наиболее часто используемыми значениями и результирующие итоговые права:
Значение umask |
Файл |
Директория |
|---|---|---|
0000 |
666 |
777 |
0002 |
664 |
775 |
0022 |
644 |
755 |
0007 |
660 |
770 |
0077 |
600 |
700 |
0027 |
640 |
750 |
0277 |
400 |
500 |