====== Что такое umask и как установить права на файл или директорию ====== Источник - http://handynotes.ru/2010/02/umask.html\\ Оригинал - http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html ===== Как установить 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