встановити umask (дозволи) аналогічно setgid у каталозі


2

Я знаю, як використовувати setgidв каталогах, щоб примусити всю структуру каталогів мати єдину user:groupвласність.

Чи існує подібний спосіб встановити umaskдля каталогу, щоб вся структура каталогу "успадковувала" конкретні дозволи (тобто 750/640)?


2
Ні, umasks не приєднано до каталогів, вони приєднані до процесу. askubuntu.com/questions/44534/… . Налаштування ACL (за допомогою setfacl) може бути способом.
slm

Відповіді:


1

Ось некрасивий хак, який слід застосувати до каталогу.

mount -o loop,umask=027,uid=test /opt/dev_test /home/test/test2

Оскільки umaskв точці монтажу, застосованій на розділі NTFS або VFAT, я створив блок пристрою за допомогою ddкоманди, після чого відформатував mkfs.vfatі змонтував з командою, як було сказано вище.

Результати тесту

Всередині test2каталогу

[test@test-server test2]$ touch xyz
[test@test-server test2]$ ls -rlt xyz
-rwxr-x--- 1 test root 0 Jan 28 23:22 xyz
[test@test-server test2]$ umask
0002

Зовнішній test2каталог

[test@test-server test2]$ cd ../
[test@test-server ~]$ touch xyz
[test@test-server ~]$ ls -rlt xyz
-rw-rw-r-- 1 test test 0 Jan 28 23:22 xyz
[test@test-server ~]$ umask
0002

1

umaskЗначення для процесу , який створює файл або каталог буде контролювати кінцеві конкретні дозволу в той час процес виконує. За умовою (за замовчуванням) файли створюються в режимі створення (до open()) 0666, тоді як каталоги створюються з 0777. Потім umaskзначення враховується для встановлення остаточних дозволів.

Таким чином, ваш "найкращий" вибір - переконатися, що процеси, що маніпулюють певним каталогом, використовують umask0027, а надають каталоги з 0750, а файли - з 0640.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.