Seite 1 von 1

Dateiberechtigung mit setfacl

Verfasst: Dienstag 9. Januar 2024, 16:14
von country
Auf meinem lokalen Entwicklungsrechner läuft Arch Linux,Apache, PHP und MySQL.

Damit die Websites, an denen ich arbeite, laufen können, müssen die Dateien dem http-Benutzer gehören. Die Dateien befinden sich derzeit in den folgenden Ordnern:

Code: Alles auswählen

/srv/http/webseite
Die ersten Probleme traten auf als ich versucht habe die Datei im Editor zu speichern, in Visuel Studio Code kommt dann immer eine Meldung das die ich keine Berechtigung hab.

Nach einer kleinen suche im Netz hab ich setfacl gefunden und hab damit mir rechte gegeben

Code: Alles auswählen

sudo setfacl -R -m u:benutzername:rwx /srv/http/webseite
Siehe da ich kann nun als Benutzer die Datei komfortable abspeichern und verändern.

Die frage ist hab ich das richtig so oder leidet da die Sicherheit meines Vorgehens?

Re: Dateiberechtigung mit setfacl

Verfasst: Dienstag 9. Januar 2024, 21:28
von maroco
Hallo country,

das Problem lässt sich ganz ohne die "Krücke" setfacl lösen: Die Webserver-Dateien gehören bei mir dem Benutzer und der Gruppe http. Um als normaler Benutzer Schreibrechte auf diese Dateien zu erhalten, habe ich mich (Benutzer maroco) einfach der Gruppe http hinzugefügt:

Code: Alles auswählen

sudo usermod -a -G http maroco
"-G http" bedeutet, dass der Benutzer Mitglied der Gruppe http wird. Unbedingt die zusätzliche Option -a nicht vergessen, da andernfalls der Benutzer aus allen anderen Gruppen entfernt wird!

Gruß
maroco

Re: Dateiberechtigung mit setfacl

Verfasst: Dienstag 9. Januar 2024, 23:02
von country
Hallo maroco,
maroco hat geschrieben: Dienstag 9. Januar 2024, 21:28 Um als normaler Benutzer Schreibrechte auf diese Dateien zu erhalten, habe ich mich (Benutzer maroco) einfach der Gruppe http hinzugefügt:
Ja genau, hab ich auch beim ersten mal so gemacht. Heute wollt er aber nichts speichern. War auch in der Gruppe http

Code: Alles auswählen

cat /etc/group | grep http
http:x:33:uncle
danke für die Hilfe, ich hab nochmals den /srv/http/webseite gelöscht und das Backup aufgespielt,
dann

Code: Alles auswählen

chown -R http:http /srv/http/webseite/
chmod -R 775 /srv/http/webseite/
Jetzt funktioniert es wie es soll... abgehakt, weiter machen... :D