Hallo Rolf, hallo Leute, Am Dienstag, 29. November 2005 23:41 schrieb Rolf Scheurer:
Von: Christian Boltz [mailto:suse@cboltz.de]
Am Samstag, 26. November 2005 04:05 schrieb nineteensixtythree@gmx.de:
[CGIs laufen nicht - "command not in docroot" im suexec.log] Aus aktuellem Anlass ein Hinweis vorweg: Mich hat suExec auch gerade kräftig Nerven gekostet, weil es "plötzlich" nicht mehr funktioniert hat - auch mit der Meldung "command not in docroot". Nach einiger Suche bin ich dann darauf gekommen, dass Plesk ein eigenes suexec (mit anderem docroot) mitbringt und /usr/sbin/suexec2 überschreibt. Netterweise geht das aber komplett an der RPM-Datenbank vorbei, sodass beim erstbesten Sicherheitsupdate per YOU eben wieder das suexec mit Docroot /srv/www aktiv ist. Meine CGIs laufen dann auch in /srv/www, weil der Server gleich am Anfang ein Security-Update für Apache abbekommen hatte (und ich wunderte mich die ganze Zeit über die unsinnigen Verzeichnisse ~/cgi-bin, die Plesk anlegt ;-) Vor kurzem habe ich dann Plesk aktualisiert - daraufhin gingen die CGIs in /srv/www plötzlich nicht mehr, weil wieder das Plesk-suexec aktiv war. Die Fortsetzung des Ping-Pong-Spiels beim nächsten Sicherheitsupdate, dem nächsten Plesk-Update, Sicherheitsupdate, ... kann sich wohl jeder denken. Vielleicht hast Du ja mit Deinem ServerAdmin24 ein vergleichbares Problem - rpm -V apache2 und strings /usr/sbin/suexec | grep / sollte das klären. Ach ja: Wer meine Meinung zu Plesk noch nicht kennt, kann einfach mal das Listenarchiv nach "Plesk" in Verbindung mit meinem Namen durchsuchen...
Werner Merz hat es im Prinzip erkannt, der Apache ist falsch konfiguriert. Ich habe zwar inzwischen viel über Apache 2 gelernt, aber einige Sachen liegen noch im dunkelen. Apache benötigt die Datei suexec2, mit deren Hilfe man ihm mitteilt, als welcher Benutzer u. welcher Gruppe die Scripts ausgeführt werden sollen (dürfen). Das wird beim Kompilieren festgelegt.
Nicht wirklich. Als welcher User/Gruppe die Scripte ausgeführt werden, steht in der Konfigurationsanweisung SuexecUserGroup user gruppe Das kann man pro vHost festlegen.
Hmm, schreibe mal wieder von daheim und habe den Zettelwus, der bei der Fehlersuche angefallen ist nicht zur Hand. Wenn ich mich recht erinnere musste das beim kompilieren angegeben werden. Es ist natürlich auch möglich, dass ich in meiner Verzeweiflung einen falschen Tipp (aus irgend einem Forum) aufgegriffen habe.
Beim Kompilieren muss angegeben werden, unter welchem User Apache läuft, sprich: wer suexec überhaupt aufrufen darf. Auch die erlaubten Pfade für CGIs sind ein Compile-Setting. Unter welchem User die CGIs letztenendes laufen, wird über die SuexecUserGroup-Anweisung in der Apache-Config eingestellt. Wäre ja auch nervig, für jede neue Domain bzw. jeden neuen User suexec neu kompilieren zu müssen ;-) [...]
Hast Du rcapache2 reload oder restart verwendet? (reload reicht definitiv nicht)
Hättest Du gefragt, ob ich restart verwendet habe, so hätte ich bejaht. Durch die Fragestellung bin ich verunsichert, denke aber es war restart.
;-)
Innerhalb von wenigen Minuten waren 3 Perl-Scripte lauffähig modifiziert.
Ja, allerdings laufen die Scripte jetzt als User "wwwrun" und nicht unter dem Benutzer "megabienede" (bzw. dem zur jeweiligen Domain gehörenden User).
Ja, sozusagen Apache 1.x kompatibel.
Nö - auch Apache 1.x hatte schon suexec an Bord. [...]
Wie in meiner Mail, die ich in diesem Thread am 11.11. schrieb, vorgeschlagen: verschiebe die CGIs nach /srv/www/ - dann müsste suexec funktionieren.
Das ist so ein Knackpunkt. Auf diese Idee bin ich ich ja auch gekommen. Das lief aber ebenso wenig, wie im User-Verzeichnis. Bevor die Frage kommt: Ja, ich habe auch daran gedacht, den Script-Alias für /cgi-bin/ für den vhost des Users Megabiene rauszunehmen und die Rechte für das Script zu ändern.
Was steht/stand diesmal im suexec.log? Gruß Christian Boltz PS @sig: 60-Stunden-Woche für Plesk? ;-) -- Die Bundesregierung hat beschlossen, daß alle Yast-Programme ab sofort eine 48 Stunden Woche haben müssen. Bei dem was diese Programme an Aufräumarbeit hinterlassen, kann das nur gut sein, um die Arbeitslosenzahlen zu reduzieren. [Emil Stephan in suse-linux]