Apache2.4 / FCGI / Chroot - Rechte probleme

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
MarcoH
Beiträge: 1
Registriert: 25.08.2016 13:33:12

Apache2.4 / FCGI / Chroot - Rechte probleme

Beitrag von MarcoH » 25.08.2016 13:57:24

Servus!

Ich versuche meine Benutzer in ihrem home Verzeichnis (gleichzeitig auch http) einzusperren. Das klappt soweit auch ganz gut.

Das eigentliche Problem ist dabei wohl FCGI

Chroot möchte alle Ordner oberhalb vom eigentlichen chroot als Besitzer root haben. fcgi läuft aber nicht wenn der ordner oberhalb von www gleich root ist.

Also die Rechte sehen momentan so aus:

--| drwxr-xr-x 4 root root 4096 Aug 25 12:46 DOMAIN (home des users unter /home)
---| drwxr-xr-x 2 DOMAIN DOMAIN 4096 Aug 25 12:47 www
----| -rw-r--r-- 1 DOMAIN DOMAIN 0 Aug 25 12:29 index.php

Wenn die rechte so gesetzt sind, kann ich mich per sftp als DOMAIN/USER einloggen. Apache bzw. FCGI verweigert aber seinen dienst mit:

[2016-08-25 13:04:23]: target uid/gid (1004/1004) mismatch with directory (0/0) or program (1004/1004)

Wenn ich diesen Fehler korrigiere sehen die rechte so aus:

--| drwxr-xr-x 4 DOMAIN DOMAIN 4096 Aug 25 12:46 DOMAIN (home des users unter /home)
---| drwxr-xr-x 2 DOMAIN DOMAIN 4096 Aug 25 12:47 www
----| -rw-r--r-- 1 DOMAIN DOMAIN 0 Aug 25 12:29 index.php

Dann funktioniert FCGI und ich kann index.php sauber aufrufen. Allerdings meckert dann SSH da ja alle ordner oberhalb von www root gehören müssen.

Fehler: fatal: bad ownership or modes for chroot directory "/home/DOMAIN"

Jetzt weis ich leider nicht weiter. Könnte mir da jemand bei helfen?

Vielen Dank :)

Mozie
Beiträge: 31
Registriert: 20.05.2015 13:09:39

Re: Apache2.4 / FCGI / Chroot - Rechte probleme

Beitrag von Mozie » 26.08.2016 12:56:49

Das Problem gibt es schon sehr lange!
Und die Lösung ist das WWW nicht direkt im Home zu haben, sondern eine Ordnerstruktur von Bsp./home/domain/web/www.

Besitzer von domain wird root
Besitzer von web und www wird domainUser

Chroot wird zeigt auf /home/domain
Und der Webserver schaut auf /home/domain/web/www

Achte auch auf die benötigten Berechtigungen! /home/domain gehört root aber domainUser sollte das Verzeichnis öffnen können! Und nur in www schreiben.

So sollte es funktionieren.

MFG Michael

Antworten