TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #203 7.1K
Настройка прав по умолчанию

Каждому файлу или каталогу присваивается ряд дефолтных прав, которые определяют кто и как может им распоряжаться:


$ ls -l
-rw-r--r-- ... dhcpcd.conf


Команда umask (встроена в оболочку) позволяет настроить те самые права, которые будут применимы по умолчанию к ресурсам при их создании.

Ранее мы затрагивали права в:

1) разница между chmod и chown;
2) файл групп /etc/group;
3) шпаргалка по правам доступа;

Немного вспомним наши права

В общем случае права доступа в UNIX разбиты на три категории: u (user), g (group), o (other).

Каждая категория имеет три типа битов, которые различны для файлов и каталогов.

Для файлов:

r (read, 4, 100) – чтение файла.
w (write, 2, 010) – изменение файла.
x (execute, 1, 001) – выполнение файла как программы.

Для каталогов:

r (read, 4, 100) – чтение списка файлов.
w (write, 2, 010) – изменение и создание файлов в каталоге.
x (execute, 1, 001) – открытие файлов в каталоге.

Когда создаётся новый ресурс, система назначает ему максимально возможные права: файлы (666 = rw-rw-rw-), каталоги (777 = rwxrwxrwx).

Как работает umask

Суть работы команды - не добавить права, а ограничивает их, убрав заданные биты доступа.

Итоговый набор бит рассчитывается довольно просто: от максимальных прав отнимается маска.

Дефолтное значение маски обычно следующее:


$ umask
0002


Поэтому права по умолчанию для файла будут:


666 - 002 = 664


-rw-rw-r--


А для каталога:


777 - 002 = 775


drwxrwxr-x


Важное замечание: с помощью маски не получится сохранить либо исключить бит выполнения "x" для файлов. Этот флаг можно обработать только для каталогов:


$ umask 010
$ mkdir newdir
$ ls -l

drwxrw-rwx ... newdir


Напомню, что права файла рассчитываются на основе адского набора "666", где выполнение уже отключено.

Формы синтаксиса umask

У команды довольно простой синтаксис и несколько способов определения маски:


$ umask опции восьмеричная_маска


$ umask опции u=права,g=права,o=права


Посмотреть текущее значение маски можно двумя способами:


$ umask
0002


$ umask -S
u=rwx,g=rwx,o=rx


Способы задания маски

Вообще, маска может определяться 4 цифрами, но первую можно опустить, т.к. она не используется:


$ umask 002


$ umask
0002


Команда umask работает с цифрами справа налево, поэтому незначащие нули можно тоже опустить, по необходимости:


$ umask 77


$ umask
0077


Маску можно задать и с помощью более традиционных обозначений:


$ umask u=rwx,g=rwx,o=


В таком формате оно, как пишется, так и понимается - работает по принципу chmod.

Мы не исключаем "rwx" для пользователя и группы, а чистим все права для "остальных" персон. Такая запись равна маске "007":


$ umask
0007


$ touch filetest
$ ls -l
-rw-rw---- ... filetest


Группы прав также можно объединять:


$ umask ug=rwx,o=rx


Или же задавать сразу для всех категорий, использовав "a" (all):


$ umask a=rwx


Также можно работать с отдельными правами. Оператором "+" или "-" можно разрешить или запретить целевое действие:


$ umask -S ug-w
u=rx,g=rx,o=rx


$ umask -S a+w
u=rwx,g=rwx,o=rwx


Можно и комбинировать два предыдущих способа. Например, разрешить пользователю все операции, а группе и остальным убрать право на чтение:


$ umask u=rwx,go-r


LinuxCamp | #utils
  • 👍 26
  • 🔥 11
  • ❤‍🔥 7
  • ❤ 1
  • 👎 1
More from @linuxcamp_tg
  1. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  2. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  3. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  4. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  5. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
  6. Sep 17, 2026Открыл плейлист, а как выйти - непонятно 😁 LinuxCamp | #memes
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →