Nadaj domyślne uprawnienie do zapisu grupie do nowo utworzonych plików i folderów

15

Powiedzmy, że mamy 2 użytkowników: a i b, którzy są częścią grupy ogólnej.

Chciałbym, aby każdy plik lub folder, który tworzy A, miałby uprawnienia do zapisu w grupie OGÓLNE.

Jak mogę to zrobić?

Na przykład nowo utworzony plik jest ustawiony jako:

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

Nie daje to uprawnień do zapisu generałowi grupy

Dejel
źródło
Możesz być zainteresowany tą odpowiedzią: stackoverflow.com/questions/3175303/…
Gavriel
2
Nie chcę tego robić z Javy. To nie jest właściwy sposób, aby to zrobić
Dejel
„Nie chcę tego robić z Javy. To nie jest właściwy sposób”. To prawie filozoficzne stwierdzenie. Ma zastosowanie wszędzie ...
GargantuChet

Odpowiedzi:

15

Tak, możesz to zrobić zmieniając umask. Te umaskokreśla, jakie są uprawnienia domyślne dla nowo creted pliku.

Możesz dodać umask g+wna końcu pliku konfiguracyjnego powłoki ( ~/.bashrcna przykład).

Ale w rzeczywistości nie jest to godna polecenia praktyka. W przypadku, gdy chcesz zapewnić integralność pliku i zapomnisz zaktualizować uprawnienia do pliku, będzie on modyfikowany przez grupę. Jest to sprzeczne z zasadą „bezpiecznych wartości początkowych”.

Zamiast tego możesz sprawić, że wszystkie nowo utworzone pliki określonego katalogu będą zapisywane przez grupę. Możesz to zrobić, manipulując listami ACL katalogu. Na przykład setfacl -dm u::rw,g::rw,o::r ~/shared.

Spójrz na te posty w celach informacyjnych: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director oraz /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a .

lgeorget
źródło
Co jeśli nie wiem, jaki będzie katalog? Ponieważ powiedzmy, że mam folder TEST. Wszystkie pliki tworzone przez A będą w TESTIE. Mógł jednak utworzyć folder 20130515 i pod nim zlokalizować nowo utworzony plik. tak powinno być dla każdego pliku i folderu, który jest tworzony rekurencyjnie w folderze TEST
Dejel
2
domyślne listy ACL dziedziczą nowe podkatalogi i dotyczą plików utworzonych w tych katalogach. Więc jeśli /srv/TESTustawiłeś domyślne listy ACL w tym katalogu, to kiedy /srv/TEST/20130515będą miały takie same domyślne listy ACL jak katalog nadrzędny.
Bratchley,
Dobrym pomysłem może być także uruchomienie sudo chmod g+s [dir]plików, więc grupa będzie własnością grupy
linuxgnuru