Unterordner eines Apache Webservers freigeben?

1 Antwort

Einen Benutzer das Home-Verzeichnis /var/www zuzuweisen ist nicht ratsam. Sie sollten sicherstellen, dass /var/www/html und alle Unterverzeichnisse der Gruppe "apache" zugehörig sind. Dies kann wie folgt verifiziert werden.

ls -lR /var/www/html

Sollten die Verzeichnisse nicht der Gruppe "apache" zugehörig sein, lässt sich dies über den Befehl

chgrp -R apache /var/www/html

Letzteres sollte mit root-Rechten geschehen (sudo / su).

"Jetzt sollte es eigentlich funktionieren."
- IT-Abteilung (immer)
Woher ich das weiß:Recherche

JanyoOoO 
Beitragsersteller
 03.09.2020, 05:03

Danke für deine Antwort. Ich habe gerade einmal nachgeschaut und es scheint, als gäbe es den Nutzer 'apache' bei mir überhaupt nicht.

Ich habe deshalb einmal versucht, herauszufinden, welches user Apache verwendet und bin dabei auf diesen Befehl gestoßen:

ps -ef | egrep '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}'

Das habe ich auch direkt ausprobiert und das Ergebnis war, dass Apache den user 'www-data' verwendet.

Deinen ersten Vorschlag habe ich dann auch direkt ausprobiert.

ls -lR /var/www/html

Die Ausgabe hiervor war Folgendes:

/var/www/html:
insgesamt 20
-rwxrwxr-x 1 www-data     www-users 10801 Sep  2 23:31 index.html
-rwxrwxr-x 1 www-data     www-users   612 Sep  2 07:55 index.nginx-debian.html
drwxr--r-- 2 ftp-user-www www-users  4096 Sep  3 00:30 test


/var/www/html/test:
insgesamt 8
-rw------- 1 ftp-user-www www-users 306 Sep  3 00:31 index.html
-rw------- 1 ftp-user-www www-users  72 Sep  3 00:31 style.css

Hierzu sei gesagt, dass ftp-user-www ein von mir erstellter user für den FTP-Zugang ist. www-users ist hingegen eine Gruppe in der eigentlich ftp-user-www ist und in die 'apache' eigentlich ebenfalls sollte, sodass beide Nutzer die selben Rechte bezügliche dieses Verzeichnisses bekommen könnten. Das war ein Versuch, den ich so aus einem anderen Forum kopiert habe, offensichtlich nicht gerade erfolgreich.

chgrp -R apache /var/www/html

Soll ich bei diesem Befehl dann 'apache' durch 'www-data' ersetzen?
Und gibt es nicht vielleicht eine Möglichkeit, dass der von mir angelegte user für den FTP-Zugriff weiterhin die Rechte an diesem Verzeichnis, und zwar nur an diesem Verzeichnis, behalten kann?

mikezepalli17  03.09.2020, 05:36
@JanyoOoO

Die Berechtigungen für den Unterordner Test sind zu restriktiv gewählt. Die Gruppe www-user hat bereits die benötigten Gruppenberechtigungen, somit ist der chgrp Befehl nicht notwendig. Mit

chmod a+rx /var/www/html/test
chmod -R a+r /var/www/html/*

sollte dies zumindest für den Betrieb im lokalen Netz funktionieren.

JanyoOoO 
Beitragsersteller
 03.09.2020, 05:42
@mikezepalli17

Vielen Dank, damit funktioniert es :)

Gibt es auch noch eine Möglichkeit, dafür zu sorgen, dass neue Unterordner in /var/www/html und auch die Unterordner von Unterordnern etc. automatisch diese Berechtigungen erhalten?

mikezepalli17  03.09.2020, 05:50
@JanyoOoO

Du kannst zum Einen, beim Anlegen eines neuen Unterverzeichnisses mit

mkdir -m 740  ordnername

einem Ordner über die -m Option die gewünschte Berechtigung festgelegt werden. Zum Anderen gibt es für eine richtige Vererbung hier eine detaillierte Erklärung https://unix.stackexchange.com/a/115632