Що таке umask і як встановити права на файл або директорію

Черговий пост з серії : завжди хотів це зрозуміти, ... підглянув ось тут , досить легке і дохідливе пояснення того, як порахувати umask, якщо знаєш які права у результаті повинен мати твій файл або директорія. Як правило, при адмініструванні Linux систем, більше доводиться стикатися з фактичними правами, а от з 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 5:21 file.txt

І наостанок, приклад umask з різними (найчастіше використовуються) значеннями і результуючі (підсумкові) права:

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

Опубліковано: 16/03/11 @ 11:03
Розділ Реклама

Рекомендуємо:

Скільки коштує рекламний пост з п'яти слів, у вашому блозі? - Теммі! Для тебе, безкоштовно
Заповітна кнопка "БАБЛО"
Реклама: що потрібно про це знати
Скандинавський аукціон Gagen. Безкоштовні pin коди, пакет на 5 ставок у подарунок.
Рекламна площа - мозок!