Mam problem z uprawnieniami na serwerze z systemem Linux. Jestem przyzwyczajony do BSD. Gdy katalog jest własnością grupy, której właścicielem jest użytkownik, nie ma go na przykład w danych www, pliki w nim utworzone będą własnością tej grupy. Jest to ważne, ponieważ chcę, aby pliki były czytelne dla serwera WWW (którego nie będę uruchamiał jako root), ale aby użytkownik mógł nadal umieszczać nowe pliki w katalogu. Nie mogę umieścić użytkowników w danych www, ponieważ wtedy będą mogli czytać strony internetowe innych użytkowników.
Chcę, aby serwer WWW czytał wszystkie witryny, chcę, aby użytkownicy mogli zmieniać własne.
W tej chwili uprawnienia są ustawione w folderach ....
drwxr-x--- 3 john www-data 4096 Feb 17 21:27 john
Jest to standardowe zachowanie BSD dla uprawnień do pracy w ten sposób. Jak sprawić, by Linux to zrobił?
źródło
Odpowiedzi:
Brzmi to tak, jakbyś opisywał funkcjonalność bitu setgid, gdy gdy katalog, który go ustawił, zmusi wszelkie utworzone w nim nowe pliki, aby ich grupa była ustawiona na tę samą grupę, która jest ustawiona w katalogu nadrzędnym.
Przykład
skonfiguruj katalog z perms + własności
dotknij pliku jako saml w tym katalogu
To da ci mniej więcej tyle, ile chcesz. Jeśli naprawdę chcesz dokładnie tego, co opisałeś, myślę, że musisz skorzystać z funkcji list kontroli dostępu, aby to uzyskać (ACL).
ACL
Jeśli chcesz uzyskać nieco większą kontrolę nad uprawnieniami do plików tworzonych w katalogu,
somedir
możesz dodać następującą regułę ACL, aby ustawić domyślne uprawnienia w ten sposób.przed
ustawić uprawnienia
Zwróć uwagę
+
na końcu, co oznacza, że w tym katalogu zastosowano listy ACL.po
Zwróć uwagę przy ustawieniu domyślnych uprawnień (
setfacl -Rdm
), aby uprawnienia byłyr-x
domyślnie (g:apache:rx
) ( ). Wymusza tor
włączenie nowych bitów tylko dla nowych plików .źródło
unzip
?unzip
. W szczególności-X
przełącznik.TL: DR; aby nowe pliki dziedziczyły grupę folderu kontenerowego:
Uwaga: wynika z zaakceptowanej odpowiedzi, jest to tylko fragment kodu.
źródło
Jako uzupełnienie odpowiedzi SLM, zauważ, że w systemie plików ext2 / 3/4 możesz replikować zachowanie BSD, które opisujesz, używając
bsdgroups
opcji montowania na partycji. Ze strony podręcznikamount(1)
:źródło