Забезпечення, щоб нові файли в каталозі належали до групи


56

Я хочу створити спільний каталог, коли декілька користувачів (всі вони належать до mygroup) можуть створювати та редагувати файли. Я хотів би, щоб всі файли в цьому каталозі та підкаталозі належали mygroup

Я змінив існуючі файли, щоб мати групу mygroup використання chgrp, але створені нові файли належать до основної групи користувача. Чи є спосіб забезпечення нових файлів належать групі без повторного запуску chgrp.

Відповіді:


97

Ви хочете встановити біт SetGID.

chmod g+s dir

Всі нові файли, створені в каталозі, матимуть групу в групі каталогу.

Повідомлення блогу суперкористувача пояснили липкі біти та інші біти дозволу Linux:

SetGID, однак, це зовсім інша гра з м'ячем. Коли каталог має набір бітів SetGID і створюється файл у цьому каталозі, власність групи файлів автоматично змінюється, щоб бути групою каталогу.


Дякую. Посилання корисно. описує команду umask, яка є частиною зображення
justintime

3
А як щодо створення підкаталогу в початковому каталозі, який також належить до групи батьківського каталогу? Це можливо?
daaxix

Відповідь @ LukePH, наведена нижче, є надзвичайно важливим для того, щоб не заплутатися, коли це не працює: використовуйте sudo
Rhubarb


10

Це може призвести до того, що кілька людей застрянуть в setgid, якщо група папок відрізняється від вашої власної, вам може знадобитися запустити chmod як root, але ви не отримаєте жодної помилки, яка б вказувала вам, що вам потрібно це зробити.

без sudo

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                     # no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo        # and the group is set wrong

з sudo

$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo # and the group is set right
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.