Надати дозвіл на запис за замовчуванням групувати будь-які новостворені файли та папки


15

Скажімо, у нас є 2 користувачі: a і b, які обидва входять до загальної групи.

Я хотів би, щоб будь-який файл або папка, яку створює A, мав дозвіл на запис до групи GENERAL.

Як я можу це зробити?

Наприклад, новостворений файл встановлюється як:

-rw-r--r-- 1 a general

Це не дає дозволу на запис генеральній групі


Вас може зацікавити ця відповідь: stackoverflow.com/questions/3175303/…
Гавриїл

2
Я не хочу робити це з Java. Це не правильний спосіб зробити це
Dejel

"Я не хочу робити це з Java. Це не правильний спосіб зробити це." Це майже філософське твердження. Він застосовується скрізь ...
GargantuChet

Відповіді:


15

Так, ви можете зробити це, змінивши umask. В umaskвизначає , які права доступу за замовчуванням для знову creted файлу.

Ви можете додати umask g+wнаприкінці файлу конфігурації оболонки ( ~/.bashrcнаприклад).

Але насправді це не рекомендується практика. У випадку, якщо ви хочете забезпечити цілісність файлу і забудете оновити дозволи файлу, група може бути змінена. Це проти принципу безпеки "безпечні початкові цінності".

Що ви можете зробити замість цього - зробити всі новостворені файли певного каталогу у групі для запису. Ви можете зробити це, маніпулюючи ACL каталогу. Наприклад, setfacl -dm u::rw,g::rw,o::r ~/shared.

Подивіться на ці довідки: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-create-in-a-given-director та /programming/580584/setting-default-permissions-for-newly-create-files-and-sub-directories-under-a .


Що робити, якщо я не знаю, яким буде каталог? Так як скажімо, що у мене є папка TEST. Усі файли, які створює A, знаходяться під TEST. Однак він міг створити папку 20130515 і під нею знайти новостворений файл. тому це має бути для будь-якого файлу та папки, які створюються рекурсивно під папкою TEST
Dejel

2
За замовчуванням ACL успадковує нові підкаталоги та застосовується до файлів, створених у цих каталогах. Отже, якщо ви вказали /srv/TESTACL за замовчуванням у цій директорії, тоді, коли /srv/TEST/20130515він буде мати ті самі ACL за замовчуванням, як і батьківський каталог.
Братчлі

Також може бути непоганою ідеєю запустити, sudo chmod g+s [dir]щоб файли належали групі
linuxgnuru
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.