RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:umask

Что такое umask и как установить права на файл или директорию

Как установить umask по умолчанию?

Узнать текущее значение вашей umask можно просто:

$ umask
$ 0022

Umask для всех пользователей по умолчанию устанавливается в файлах /etc/.bashrc или /etc/.profile. После процедуры начальной инсталляции Linux он равен 0022 (022) или 0002 (002).
Просто добавьте или измените строку с umask:

umask 022

Изменения вступят в силу при следующем входе.

Что такое 0022 и 0002?

По умолчанию umask 0002 используется для обычного пользователя. С этой маской права по умолчанию, для директории, равны 775, а для файла 664.

Для суперпользователя (root) umask по умолчанию равен 0022. С этой маской права по умолчанию, для директории, равны 755, а для файла 644.

Базовые права для директорий, это 0777 (rwxrwxrwx) и для файлов 0666 (rw-rw-rw).

Как посчитать (определить) права файла для маски 022 (пользователь root):
Права по умолчанию: 666
Вычитаемое значение umask: 022 (-)
Итоговые права: 644

Как посчитать (определить) права директории для маски 022 (пользователь root):
Права по умолчанию: 777
Вычитаемое значение umask: 022 (-)
Итоговые права: 755

Вывод

Таким образом umask «отбирает» необходимые права в нужных разрядах: 7-ка полностью все, 2-ка права на запись, 0 оставляет по умолчанию. По-моему очень просто и понятно.

К примеру вот такие команды:

$ umask 077
$ touch file.txt
$ ls -l file.txt

приведут к такому результату:

-rw------- 1 hb hb 0 2010-02-19 05:21 file.txt

И напоследок, пример umask с различными (наиболее часто используемыми) значениями и результирующие (итоговые) права:

Значение umask   User   Group   Others
0000             all     all    all
0007             all     all    none
0027             all     r      none
0077             all     none   none

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/umask.txt · Последнее изменение: 2013/08/16 19:14 — 127.0.0.1