Zapewnienie, że nowe pliki w katalogu należą do grupy


67

Chcę utworzyć wspólny katalog, gdy wielu użytkowników (wszyscy należą do powiedzmy mygroup) może tworzyć i edytować pliki. Chciałbym, aby wszystkie pliki w tym katalogu i podkatalogu należały do mojej grupy

Zmieniłem istniejące pliki, aby grupa mygroup ich używała chgrp, ale wciąż tworzone nowe pliki należą do grupy podstawowej użytkownika. Czy istnieje sposób zagwarantowania, że ​​nowe pliki należą do grupy bez ciągłego uruchamiania chgrp.

Odpowiedzi:


108

Chcesz ustawić bit SetGID.

chmod g+s dir

Wszystkie nowe pliki utworzone w katalogu będą miały grupę ustawioną na grupę katalogu.

W blogu superużytkownika wyjaśniono bity lepkie i inne bity uprawnień Linuksa:

SetGID to jednak zupełnie inna gra w piłkę. Gdy katalog ma ustawiony bit SetGID i plik jest tworzony w tym katalogu, własność grupy pliku jest automatycznie modyfikowana, aby stała się grupą katalogu.


1
Dzięki. Odniesienie jest przydatne. opisuje polecenie umask, który jest częścią obrazu
JustInTime

4
Co powiesz na utworzenie podkatalogu w katalogu początkowym, który również należy do grupy katalogu nadrzędnego? czy to możliwe?
daaxix

@ Odpowiedź Łukasza poniżej jest kluczowa, aby nie pomylić się, gdy zawiedzie to po cichu: użyj sudo
Rabarbar


11

Może to spowodować, że kilka osób utknie w setgid, jeśli grupa folderu różni się od twojej, być może będziesz musiał uruchomić chmod jako root, ale nie pojawi się żaden błąd wskazujący, że musisz to zrobić.

bez 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

z 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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.