Предположим, маска по умолчанию 0666. umask0022 сделает новую маску 0644 (0666-0022 = 0644), что означает, что группа и другие пользователи имеют права на чтение (без записи или выполнения).
«Дополнительная» цифра (первое число = 0) указывает, что специальных режимов нет.
Если режим начинается с цифры, он будет интерпретирован как восьмеричный, в противном случае он будет символическим.
0 - это цифра, равно как 1 (для фиксированного бита) или 6 (для SGID). Такая команда chmodможет быть вызвана другими методами, например, chmod ug+rw mydirгде вы бы добавили права на чтение и запись для пользователя и группы. Обратите внимание, что режим в этом случае (ug + rw) не начинается с цифры, поэтому он не будет интерпретироваться как восьмеричный, а скорее символический.
См. En.wikipedia.org/wiki/Chmod#Symbolic_examples для символики, а также www.lifeaftercoffee.com/2007/03/20/special-permission-modes-in-linux-and-unix/, чтобы узнать о специальных режимах.
Я не знаю, что вы бы разоблачили первый бит umask, но технически вы могли бы. Это объясняет, почему вы почти всегда видите это как ноль.
Кредит для pinkfloydx33
Первая цифра маски связана со специальными разрешениями, которые не совсем точно вписываются в модель владельца / группы / другой модели. Когда для разрешения доступа к файлу предоставляются четыре цифры, первая относится к этим специальным значениям:
4000 = SUID
2000 = SGID
1000 = sticky bit
Бит SUID, сокращение от set-user-ID, заставляет исполняемую программу запускаться с эффективным идентификатором пользователя (uid) владельца - другими словами, независимо от того, кто его выполняет, программа выполняется с правами владельца. Это обычно наблюдается в программах, которые выполняют действия, требующие прав суперпользователя, но предназначенные для запуска обычными пользователями: passwdодин из таких примеров.
Бит SGID, сокращенно от set-group-ID, очень похож, но работает с эффективным идентификатором группы (gid) владельца.
Слепка немного сложнее, если вы хотите больше информации об этом, вы можете прочитать справочную страницу для sticky.
Эти биты также можно использовать с каталогами, но их значения меняются.
Я не верю, что вы на самом деле можете установить параметр, umaskпозволяющий вам включить любой из этих дополнительных битов по умолчанию, но вы, вероятно, никогда не захотите делать это в любом случае.
Кредит для пользователя470379
man 2 umask(соответствующий системный вызов) «используются только биты прав доступа к файлуmask». Вbashumask 1000 выдается ошибка: «восьмеричное число вне диапазона». Так почему лишние 0? Я думаю, что это просто, чтобы показать, что число в восьмеричном.