Standardberechtigungen für / var / www

36

Ich habe versucht, eine Datei zu öffnen und mit PHP im /var/wwwOrdner darauf zu schreiben, aber es hat nicht funktioniert, also habe ich es getan

sudo chmod 777 /var/www

Jetzt möchte ich die Berechtigungen für /var/wwwauf den Standard setzen.
Für was sind die Standardberechtigungen /var/www?

Hossein Hosseinvand
quelle
Ich bin kein Mitglied von serverfault, daher konnte ich die Antwort nicht kommentieren oder positiv bewerten. Aber dieser Beitrag macht wirklich alles
Donato
Versuchen Sie, das Dokument auf der Wiki-Seite zu überprüfen: Datei- und Verzeichnisbesitz und Berechtigungen für Webinhalte.
Huckbit

Antworten:

29

Die Berechtigungen für diesen Ordner sind:

chmod 755 /var/www/

und die Dateien in dem Ordner sind:

chmod 644 /var/www/file
Chaos
quelle
43

Die Standardberechtigung für sich /var/wwwselbst ist eine ziemlich standardmäßige: Eigentümer root:rootund Mod 755.

Was irgendetwas drin angeht /var/www , so ist dies eines der seltenen Verzeichnisse, in denen Sie das Privileg haben, selbst zu entscheiden, was darin abgelegt werden soll und welche Berechtigungen alles darin haben soll. Am sinnvollsten ist jedoch:

  • Die meisten Dateien sollten von jedem Benutzer oder jeder Gruppe beschreibbar sein, der am häufigsten darauf schreibt. Sie können festlegen, dass sie Ihrem Benutzerkonto gehören. Oder richten Sie eine benutzerdefinierte Gruppe für Ihre Entwickler ein. Oder wenn die Dateien nur selten geändert werden und Sie eine gute Sicherheit wünschen, können Sie root:rootin den seltenen Fällen mit Sudo-In arbeiten.

  • Die meisten Dateien sollten nicht von der Welt beschreibbar sein. Also, 644für Dateien und 755für Verzeichnisse ist angemessen (oder 664und 775wenn Sie einer Gruppe Schreibzugriff gewähren möchten).

  • Es wird nicht empfohlen, eines davon so einzustellen, dass es vom Webserver beschreibbar ist, dh www-datamit Ausnahme bestimmter Dateien, in die Ihre Webskripte schreiben können. In diesem Fall ist es besser, den Benutzer oder die Gruppe dieser Dateien auf festzulegen, www-dataals sie für die Welt beschreibbar zu machen. Beachten Sie, dass jedes Mal, wenn der www-dataBenutzer in eine beliebige Datei im Webstamm schreiben kann, sei es durch Festlegen des Benutzers oder der Gruppe für diese Dateien oder durch deren weltweite Beschreibbarkeit, ein potenzielles Sicherheitsproblem besteht. Weltweit beschreibbar ist nur die schlechtere der beiden.

thomasrutter
quelle
2
Hier als endgültigste Antwort hochgeladen
Chris
2
Das ist eine wirklich gute Antwort. :)
Banago
Um die Antwort zu verbessern, sollten Sie Befehle hinzufügen, um die entsprechenden Berechtigungen festzulegen.
Abraham Murciano Benzadon
Gibt es eine rekursive Funktion, die in var / www alle Ordner in 755 und Dateien in 644 ändern kann?
Matthew Semik
Yep: stackoverflow.com/questions/18817744/… (die zweite Antwort ist eleganter als die akzeptierte IMO)
Thomasrutter
9

Stellen Sie sicher, dass die Gruppe "www-data" in "/ var / www" ist.

sudo chgrp www-data /var/www

Mach es beschreibbar

sudo chmod 775 /var/www

Gruppen-ID für Unterordner festlegen

sudo chmod g+s /var/www

Fügen Sie der Gruppe Ihren Benutzernamen hinzu

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

gib dir das Eigentum

sudo chown [USERNAME] /var/www/
kamil
quelle
9
Dies ist nicht die Standardberechtigung für / var / www, und es ist aus Sicherheitsgründen eine sehr schlechte Idee, das gesamte Web-Root-Verzeichnis mit www-Daten beschreibbar zu machen. Tun Sie dies nur, wenn Web-Skripte Schreibzugriff auf bestimmte Dateien benötigen, und tun Sie dies auch nur für diese bestimmten Dateien, nicht für das gesamte Web-Stammverzeichnis. Und das OP sagte sowieso nicht, dass er dies tun müsste, daher sollte dies überhaupt keine Empfehlung sein.
Thomasrutter
3
Es ist auch eine sehr schlechte Idee, sich der WWW-Datengruppe hinzuzufügen und diese Gruppe auf diese Weise zu behandeln. Wo hast du das gelesen? Es ist ein besonders schlechter Rat, fast böswillig. Erstellen Sie Ihre eigenen Gruppen, wenn Sie einer Gruppe Zugriff auf etwas gewähren möchten: Verwenden Sie nicht die nichtprivilegierten Gruppen, die für die interne Verwendung durch Dämonen vorgesehen sind.
Thomasrutter
1
@neon_overload was empfehlen Sie
aWebDeveloper
1
Genau, was würden Sie @neon_overload empfehlen?
Banago,
1
@ Banago Personnaly Ich empfehle eine +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
quelle
4
Je nach Inhalt kann es schädlich sein, die -RFlagge hier zu verwenden. Da das OP das -RFlag nicht verwendet hat , sollten wir es nicht empfehlen, um die von ihnen erstellten falschen Berechtigungen zu korrigieren. Die -RFlagge ist selten hilfreich!
Zanna