domyślne uprawnienia dla / var / www

36

Próbowałem otworzyć plik i napisać do niego z PHP w /var/wwwfolderze, ale nie działało, więc zrobiłem to

sudo chmod 777 /var/www

teraz chcę ustawić uprawnienia na /var/wwwdomyślne.
do czego służą uprawnienia domyślne /var/www?

Hossein Hosseinvand
źródło
Nie jestem członkiem serwera, więc nie mogłem komentować ani głosować za odpowiedzią. Ale ten post jest naprawdę trafny: serverfault.com/questions/357108/…
Donato
Spróbuj sprawdzić dokument na stronie wiki: Własność plików i katalogów oraz uprawnienia do treści WWW.
huckbit

Odpowiedzi:

29

Uprawnienia do tego folderu to:

chmod 755 /var/www/

a pliki w folderze to:

chmod 644 /var/www/file
chaos
źródło
43

Domyślne uprawnienie dla /var/wwwsiebie jest dość standardowe: właściciel root:rooti mod 755.

Jeśli chodzi o wszystko w środku /var/www , jest to jeden z rzadkich katalogów, w którym masz przywilej decydowania, co w nim umieścić i jakie uprawnienia powinien mieć wszystko w nim. Ale najbardziej sensowne jest:

  • Większość plików powinna być zapisywalna przez dowolnego użytkownika lub grupę, która będzie do nich pisać w największym stopniu. Możesz ustawić, aby były własnością twojego konta użytkownika. Lub skonfiguruj niestandardową grupę dla swoich programistów. Lub jeśli pliki będą modyfikowane rzadko, a chcesz dobrego bezpieczeństwa, możesz przejść root:rooti po prostu sudo w rzadkich przypadkach, gdy zostaną zmodyfikowane.

  • Większość plików nie powinna być dostępna do zapisu w świecie. Tak więc 644dla plików i 755katalogów jest odpowiedni (lub 664i 775jeśli chcesz dać grupowemu dostęp do zapisu).

  • To jest nie zaleca się ustawienie dowolnego z nim być zapisywalny przez serwer WWW, to znaczy www-data, z wyjątkiem zakresu konkretnych plików skryptów internetowych, aby móc pisać. Jeśli tak, lepiej ustawić użytkownika lub grupę tych plików, www-dataniż umożliwić ich zapisywanie na całym świecie. Należy pamiętać, że za każdym razem, gdy www-dataużytkownik może zapisywać do dowolnego pliku w katalogu głównym, czy to przez ustawienie użytkownika lub grupy na tych plikach, czy też nadanie ich do zapisu na całym świecie, jest to potencjalny problem bezpieczeństwa. Świat do zapisu jest po prostu gorszym z tych dwóch.

thomasrutter
źródło
2
Uznana za najbardziej rozstrzygającą odpowiedź tutaj
Chris,
2
To naprawdę dobra odpowiedź. :)
Banago,
aby poprawić odpowiedź, zastanów się nad dodaniem poleceń, aby ustawić odpowiednie zadania
Abraham Murciano Benzadon,
Czy istnieje funkcja rekurencyjna, która może zmienić wszystkie foldery na 755 i pliki na 644 w var / www?
Matthew Semik
Tak: stackoverflow.com/questions/18817744/… (druga odpowiedź jest bardziej elegancka niż przyjęta IMO)
thomasrutter
9

Upewnij się, że grupą są dane www na „/ var / www”.

sudo chgrp www-data /var/www

Uczyń to zapisywalnym

sudo chmod 775 /var/www

ustaw identyfikator grupy dla podfolderów

sudo chmod g+s /var/www

dodaj swoją nazwę użytkownika do grupy

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

daj sobie prawo własności

sudo chown [USERNAME] /var/www/
Kamil
źródło
9
To nie są domyślne uprawnienia dla / var / www i bardzo złym pomysłem ze względów bezpieczeństwa jest uczynienie całego katalogu głównego zapisywalnym przez www-data. Rób to tylko wtedy, gdy skrypty sieciowe potrzebują dostępu do zapisu do określonych plików, a mimo to rób to tylko do tych konkretnych plików, a nie do całego katalogu głównego. Poza tym PO nie powiedział, że musi to zrobić, więc nie powinno to wcale być zaleceniem.
thomasrutter
3
Również bardzo złym pomysłem jest dodanie się do grupy danych www i traktowanie tej grupy w ten sposób. Gdzie to przeczytałeś? To szczególnie zła rada, niemal złośliwie. Twórz własne grupy, gdy chcesz dać grupie dostęp do czegoś: nie używaj ponownie grup nieuprzywilejowanych, które są przeznaczone do użytku wewnętrznego przez demony.
thomasrutter
1
@neon_overload co polecasz
aWebDeveloper
1
Dokładnie, co poleciłbyś @neon_overload?
Banago,
1
@Banago osobiście polecam +1 :)
kamil
-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www
parmod
źródło
4
W zależności od zawartości użycie -Rtu flagi może być szkodliwe . Ponieważ OP nie użył -Rflagi, nie powinniśmy jej zalecać do korygowania błędnych uprawnień, które utworzyli. -RFlaga jest rzadko pomocne!
Zanna