June 23, 201510 yr Seit ich auf FCGID / FPM umgestellt habe erhalte ich ein "Forbidden"! Was kann ich tun? Dieses Problem scheint in letzter Zeit viele Nutzer von Froxlor zu beschäftigen, weshalb ich hier einmal genauer auf das Problem eingehen möchte. Beachtet bitte, dass dieser Beitrag auf Basis von Debian mit Apache angelegt wurde. Wie kommt das Problem zu Stande? Froxlor hat in einer der Letzten Versions Updates die Standard Berechtigung von Kunden-Verzeichnissen von 755 drwxr-xr-x auf 750 drwxr-x--- geändert. Dadurch haben nur noch Besitzer und Gruppen-Mitglieder Zugriff auf das Kunden-Verzeichnis. Wenn nun ein neuer Kunde angelegt wird, wird dieser in die Datenbank geschrieben. Genau genommen handelt es sich dabei um den FTP User welcher beim Anlegen eines Kunden in Froxlor mit angelegt wird. Dieser erhält zeitgleich auch eine eigene Gruppe. Im Anschluss wird der Webserver User, im normal Fall ist das www-data, dieser Gruppe hinzugefügt. Dieser User sowie die Gruppe und die Zugehörigkeit von www-data werden jeweils von libnss-bg-mysql aus der Datenbank ausgelesen. Damit bei einem Dateisystem Aufruf nicht jedesmal ein Datenbank Query gefahren werden muss, wird das ganze mittels dem NSCD Dienst gecached. Wenn nun nach dem Anlegen eines Kunden der Gruppen Cache noch nicht abgelaufen ist, kann der Webserver noch nicht auf das Kunden Verzeichnis Zugreifen, was zu dem Fehler "Forbidden" führt. Was kann ich gegen dieses Problem tun? Es gibt mehrere Möglichkeiten um gegen das Problem etwas zu tun. Das einfachste währe wohl den Gruppen Cache zu deaktivieren. Dazu muss in der /etc/nscd.conf die folgende Zeile angepasst werden: enable-cache group yes Hier muss einfach das yes auf ein no abgeändert werden und im Anschluss der NSCD neu gestartet werden: /etc/init.d/nscd restart Als nächstes könnte man in der selben Konfiguration die TTL des Gruppen Caches verkürzen. Dazu muss der Wert in Sekunden angepasst werden: positive-time-to-live group 3600 Je nach System sollte man den Wert von 3600 problemlos auf 600 oder gar weniger reduzieren können. Zu guter letzt kann man noch den Gruppen Cache vom NSCD invalidieren. Dazu legen wir einfach folgende Datei an: /var/www/froxlor/scripts/webserver_restart.sh #!/bin/bash /usr/sbin/nscd -i group /etc/init.d/apache2 reload Und passen dessen Berechtigungen noch an: chown root:root /var/www/froxlor/scripts/webserver_restart.sh chmod 700 /var/www/froxlor/scripts/webserver_restart.sh Jetzt können wir in Froxlor unter Einstellungen -> Webserver-Einstellungen -> Webserver-Reload-Command einfach folgendes eintragen: /var/www/froxlor/scripts/webserver_restart.sh Nach dem Speichern wird nun unser Froxlor bei jedem Webserver Reload den Gruppen Cache invalidieren wodurch wir kein Frobidden mehr erhalten sollten.
June 23, 201510 yr Hallo, Danke f?r diese tolle Anleitung! Bei mir steht allerdings in der Datei "/etc/nscd.conf" statt "group" "passwd". Hat das Auswirkungen?
June 23, 201510 yr Author Hallo, Danke f?r diese tolle Anleitung! Bei mir steht allerdings in der Datei "/etc/nscd.conf" statt "group" "passwd". Hat das Auswirkungen? Geh mal etwas weiter runter in der Datei. Der Part mit "passwd" ist f?r die User gedacht. Insgesamt m?sste es 4 Bl?cke geben: passwd, group, hosts und services.
June 23, 201510 yr Danke f?r die Anleitung und Namensnennung bei der L?sung mit dem deaktivieren des Caches f?r nscd
June 24, 201510 yr Geh mal etwas weiter runter in der Datei. Der Part mit "passwd" ist f?r die User gedacht. Insgesamt m?sste es 4 Bl?cke geben: passwd, group, hosts und services.Danke, das habe ich wohl ?bersehen .Spricht etwas dagegen, wenn ich den Wert z.B. auf 100 setzte? Hohe Auslastung o.?.
June 24, 201510 yr Author Das kann ich dir leider nicht sagen Thunderbyte. Auf meinem kleinen vServer mit 2 Domains k?nnte ich den Gruppen Cache gleich ganz deaktivieren. Ob du dann Probleme haben wirst, kann ich nicht beurteilen. Versuch es doch einfach mal.
October 20, 201510 yr Also ich habe den Fehler behoben, indem ich in der libnss-mysql.cfg bei Host anstatt 127.0.0.1 localhost eingetragen habe. Dann war auch der Fehler verschwunden, dass er angeblich nicht auf die Datenbank zugreifen kann K?nnt ihr ja mal testen ..
December 29, 20159 yr ? Hmm ich habe die Anleitung im OP befolgt aber habe leider trotzdem noch die Fehlermeldung "Forbidden". Auf meinem Archlinux laptop habe ich die /etc/hosts ge?ndert auf "ip-des-server domain.com www.domain.com". Wenn ich nun im browser www.domain.com ?ffne erscheint die Fehlermeldung "forbidden". Eigtl. sollte hier testweise die richtige website mit richtigem inhalt erscheinen? ? ?@edit: libnss-mysql.cfg mit "localhost" anstatt "127.0.0.1" hat auch nichts gebracht :/ ?@edit2: DANKE AN Thunderbird: ?Das Problem war dass "Apache 2.4" nicht aktiviert war in den froxlor webserver einstellungen
March 29, 20169 yr Das Passt ja, wollte mich dazu gerade belesen. Verstehe ich es richtig, dass dass oben beschriebende das löst: Ich lege einen Kunden an. Der Legt ein FTP an und eine DB. Dann Läd der Benutzer ein System hoch, sagen wir WP hat aber keine Schreibrechte.... Oder habe ich da etwas falsch verstanden?
April 16, 20169 yr Author Etwas spät, aber was solls. Das Problem äussert sich darin, dass nach anlegen des Kunden (also des virtuellen Users), der Webserver keine Lese-Berechtigung auf das Kundenverzeichnis hat. Dadurch gibt der Webserver einfach 403 Forbidden aus.
Archived
This topic is now archived and is closed to further replies.