Hallo Stefan, hallo Leute, Am Montag, 22. Juli 2002 01:23 schrieb Stefan Schilling:
Am Montag, 22. Juli 2002 um 00:42 schrieb Christian Boltz:
Am Sonntag, 21. Juli 2002 00:35 schrieb Stefan Schilling:
Am Sonntag, 21. Juli 2002 um 00:01 schrieb Christian Boltz:
Am Samstag, 20. Juli 2002 16:54 schrieb Stefan Schilling:
Ich versuche mittels eines <VirtualHost> Containers ein CGI-Script auszuführen. Dies klappt auch, leider mit den falschen Rechten. Deshalb habe ich folgendes eingefügt:
[...] User vbox Group users Dummerweise wird das Skript immer noch als User wwwrun, Gruppe nogroup ausgeführt. Was mache ich falsch? (Der Benutzer existiert natürlich). [...] chmod "Echt Kölnisch Wasser" (4711) ;-) anders ausgedrückt: Leserechte für Gruppe und Rest der Welt wegnehmen, Ausführ-Recht reicht. Das war bei mir der anscheinend Grund, warum suexec nicht wollte...
-rws--x--x 1 root root 22007 Mar 5 12:42 suexec
Das ist schon mal gut ;-)
Eintrag in der /var/log/httpd/error.log: [notice] suEXEC mechanism enabled (wrapper: auch aktuell (z. B. nach rcapache restart)?
ja.
Gut. Dann sollte suExec eigentlich laufen ;-)
Falls nicht, geh mal die Liste der Sicherheitsüberprüfungen durch, die in /usr/local/httpd/htdocs/manual/suexec.html.html (bei installierter Apache-Doku) zu finden ist.
Dann würde ich folgendes vorschlagen: Du arbeitest die, die Du verstehst, ab, und fragst für den Rest nach ;-)
vorab Frage: "target" = mein CGI - Skript, ja?
target programm, ja. So hab ich das zumindest verstanden ;-)
wenn 2+x User = mehrere Varianten durchgespielt.
Hmm?
Fragen: 1) tja, keine Ahnung, sind denn meine Einstellungen in der /etc/httpd/httpd.conf richtig (sind aktuell im Thread: "2.Mal Perlianer: BITTE helfen mit vbox2www" abrufbar.)
Ich hab mal Deine httpd.conf hier reingeklebt ;-)
|
3) -rws--x--x 1 root root 22007 Mar 5 12:42 suexec -> wofür steht eigentlich das "s"?
Das ist das suid- oder "set user id"-Bit. Sprich: das Programm wird mit den Rechten des Besitzers ausgeführt (hier: root [1]), egal wer es aufruft. -> man chmod
4) target liegt in /home/vbox/public_html/cgi-bin, sollte keine Verknüpfungen auf "/" oder ".." haben, teste ich morgen. Abgefragt werden Daten in /home/vbox/vbox/incoming
Sollte also OK sein. Die Verzeichnisse oberhalb von /home/vbox/public_html/cgi-bin hast Du auch nicht als SymLink eingebunden, hoffe ich ;-)
5+6) schilling, users, root alle existieren
OK
7) solange das Ganze nicht unter root läuft: ja.
Unter root soll es ja auch nicht laufen ;-) mach mal (als root) suexec -V Ergibt bei mir: -D DOC_ROOT="/usr/local/httpd/htdocs" -D GID_MID=96 -D HTTPD_USER="wwwrun" -D LOG_EXEC="/var/log/httpd/suexec.log" -D SAFE_PATH="/bin:/usr/bin" -D UID_MID=96 -D USERDIR_SUFFIX="public_html"
8) siehe 7)
also > UID_MID (siehe (als root) suexec -V)
9) nein, im Moment alles auf "users" bzw. "schilling" eingestellt.
Gut.
10) siehe 7)
also > GID_MID (siehe suexec -V)
11) tja, das ist die grosse Frage...
Wenn User und Group existieren, denke ich mal, dass es geht ;-)
13) /home/vbox/public_html/cgi-bin
Leg es mal unter DOC_ROOT (siehe suexec -V), also in meinem Fall /usr/local/httpd/htdocs/
16+17) -rwxr-xr-x 1 vbox schillin 6552 Jul 20 10:34 vbox.pl
OK
18) verstehe die Frage nicht genau
Dürfte OK sein (die Frage ist, ob der in der httpd.conf eingetrage User/Gruppe mit User/Gruppe der Datei übereinstimmt, was bei Dir der Fall ist)
19) verstehe die Frage nicht genau
Würde mich wundern, wenn es hier Probleme gibt ;-) Mein Hauptverdächtiger ist momentan das DOC_ROOT, also das ganze mal ins von suexec -V ausgegebene DOC_ROOT packen und nochmal testen ;-) Ansonsten bin ich mit meinem Latein endgültig am Ende :-( [2] Gruß Christian Boltz [1] Bei suexec wird der User gleich wieder gewechselt. Das suid-bit auf root dient nur dazu, das Wechseln des Users zu ermöglichen. [2] Und komm jetzt bitte nicht mit dem Argument "Das hast Du schonmal gesagt" ;-) -- Registrierter Linux-Nutzer #239431 Linux - life is too short for reboots.