Page 1 of 1

suexec spinnt

Posted: 2003-08-18 13:43
by space
leider ergabeen weder forum noch google eine lösung deshalb versuch ichs mal hier.

mein suxex will einfach keine cgis ausführen, user stimmen sowohl bei apache als auch bei den files überein, mit allen modis ging es nicht, auch mit 777 nicht.

ich bekomme folgende fehlermeldungen:

Code: Select all

[2003-08-18 13:23:46]: error: target uid/gid (1010/100) mismatch with directory (1010/100) or program (1011/110)
[2003-08-18 13:33:25]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 13:33:25]: error: target uid/gid (1010/100) mismatch with directory (1010/100) or program (1011/110)
[2003-08-18 13:33:46]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 13:33:46]: error: target uid/gid (1010/100) mismatch with directory (1010/100) or program (33/33)
[2003-08-18 13:36:24]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 13:36:24]: error: target uid/gid (1010/100) mismatch with directory (1010/100) or program (33/33)
erklährung: zuerst gehören alle daten mit, im apache bin ich auch eingetragen, das lief nicht also gab ich die dateien an u&g www-data was zur letzteren fehlermeldung führte, wenn ich auf alle scripts fullcontrol gebe kommt folgendes raus:

Code: Select all

[2003-08-18 13:23:03]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 13:23:03]: error: directory is writable by others: (/var/www/cgi-bin)

der wrapper ist wie folgt eingestellt

Code: Select all

/usr/lib/apache/suexec -V
 -D DOC_ROOT="/var/www"
 -D GID_MID=100
 -D HTTPD_USER="www-data"
 -D LOG_EXEC="/var/log/apache/suexec.log"
 -D SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D UID_MID=100
 -D USERDIR_SUFFIX="public_html"
system ist ein 0815 woody mit debian apache, ohne suexec laufen die scripts super....

ich bin ratlos :evil:

Re: suexec spinnt

Posted: 2003-08-18 13:58
by dodolin
mit allen modis ging es nicht, auch mit 777 nicht
Das natürlich sowieso.
http://httpd.apache.org/docs/suexec.html#model

/me checkts ned, da steht doch alles, musst du nur lesen...?!

Code: Select all

[2003-08-18 13:23:46]: error: target uid/gid (1010/100) mismatch with directory (1010/100) or program (1011/110)
Das Skript muss der UID 1010 gehören und nicht 1011. Dann wird das auch.
wenn ich auf alle scripts fullcontrol gebe kommt folgendes raus:

Code: Select all

[2003-08-18 13:23:03]: error: directory is writable by others: (/var/www/cgi-bin)
Was ein Quark. So kann es natürlich nie funzen. Hint: Den Link oben mal ausführlich studieren...

HTH und bitte nicht persönlich nehmen.

Re: suexec spinnt

Posted: 2003-08-18 14:46
by space
das hab ich schon gelesen.... komischwerwiesse gehts nach einem erneuten chown plözlich tipt-top... strange

Re: suexec spinnt

Posted: 2003-08-18 15:14
by dodolin
komischwerwiesse gehts nach einem erneuten chown plözlich tipt-top... strange
Das ist nicht strange, das ist doch genau das, was ich sagte?! Nuja...

Re: suexec spinnt

Posted: 2003-08-18 15:48
by space
doch das ist strange, sind die selben uids und gids naja egal nun läufts ja.... ach ja weisst du auch noch wie ich -D DOC_ROOT="/var/www" ändern kann ohne neu kompilierung?

Re: suexec spinnt

Posted: 2003-08-18 15:54
by jamesb
space wrote:doch das ist strange, sind die selben uids und gids naja egal nun läufts ja....
Wenn du dir die 1. Fehlermeldung mal genau angucken würdest, könntest du feststellen, dass es eben _nicht_ die gleichen uids sind.
space wrote:ach ja weisst du auch noch wie ich -D DOC_ROOT="/var/www" ändern kann ohne neu kompilierung?
Das geht nur durch neues kompilieren. Howto's gibt's dazu aber genug, brauchst nur mal im Forum etwas suchen.

JamesB

Re: suexec spinnt

Posted: 2003-08-18 15:55
by captaincrunch
Das geht nur durch neues kompilieren.
... oder per Hexeditor ... ;)

Re: suexec spinnt

Posted: 2003-08-18 16:40
by space
JamesB wrote: Wenn du dir die 1. Fehlermeldung mal genau angucken würdest, könntest du feststellen, dass es eben _nicht_ die gleichen uids sind.
ja eigentlich schon, aber nun klappts trozdem.... naja egal es läuft :wink:

hmmm schade das es nur mit neukompilierung geht, wollte den debian apachen behalten, könnte zwar den src saugen und den ändern aber da setze ich doch lieber nen link, mal gucken ob das geht

Re: suexec spinnt

Posted: 2003-08-18 16:43
by krispin
Doc-Root?


bin ich nun bloed oder spinne ich?
Man kann das doch in der httpd.conf angegeben, oder?

Mfg
Krispin

Re: suexec spinnt

Posted: 2003-08-18 16:49
by space
krispin wrote:Doc-Root?


bin ich nun bloed oder spinne ich?
Man kann das doch in der httpd.conf angegeben, oder?

Mfg
Krispin
ne es geht nicht um den doc root vom apachen sondern um den doc root von suexec, ist leider nicht das selbe

Re: suexec spinnt

Posted: 2003-08-18 17:00
by jamesb
space wrote:hmmm schade das es nur mit neukompilierung geht, wollte den debian apachen behalten, könnte zwar den src saugen und den ändern aber da setze ich doch lieber nen link, mal gucken ob das geht
Du kannst eigentlich relativ einfach die Debian-Sourcen holen, dort die Einstellungen für SuEXEC ändern und wieder ein .deb daraus bauen. Ist kein großer Aufwand, man muss nur wissen was man tut ;-)

Ein paar Tipps dazu:
apt-get source packetname - holt dir die Sourcen und packt sie im aktuellen Verzeichnis aus (und mit "apt-get build-dep packetname" werden gleich die entsprechenden Packete die zum übersetzen gebraucht werden installiert)
im Source-Verzeichnis in debian/rules stehen die Konfigurations-Optionen für das Packet drin.
mit "debuild" im Source-Verz wird ein Debian-Packet gebaut, welches dann eine ebene höher gespeichert wird.

JamesB

Re: suexec spinnt

Posted: 2003-08-21 15:39
by space
ich habe jetzt den apache wie folgt angepasst:
apt-get source apache
cd apache-1.3.26/
vi debian/rules
apt-get build-dep apache
dpkg-buildpackage -rfakeroot
dpkg -l | grep apache
dpkg -i apache_1.3.26-0woody3_i386.deb apache-common_1.3.26-0woody3_i386.deb apache-dev_1.3.26-0woody3_i386.deb
/usr/lib/apache/suexec -V
dpkg -l | grep apache


war da so richtig? ;), beim kernel machte ich es immer anders.....


es läuft alles super und so wie es sein sollte nur eins wundert mich, warum werden seit der installation des angepasseten apachen die ausgeführeten scripts nicht mehr gelogt?

mit "retail" debian apache:

Code: Select all

[2003-08-18 14:43:47]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 14:44:11]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 14:44:26]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 14:44:29]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi
[2003-08-18 14:44:37]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: adminpro.cgi

mit angepasstem debian apache erscheinen keine solche logs mehr, nur noch bei fehlern, etwa so:

Code: Select all

[2003-08-21 15:28:02]: info: (target/actual) uid: (chris/chris) gid: (users/users) cmd: test.pl
[2003-08-21 15:28:02]: error: command not in docroot (/var/www/cgi-bin/test.pl)
eigentlich ist alles ok aber ich möchte gerne wissen warum jetzt die ausgeführen scripts nicht mehr geloggt werden..... hab leider nix rausgefunden....

FRAGE: kann ich den apache umbennenen? Also das deb Packet und die Datei selbst, so das mit dpkg aucm mitteiteilt das nicht der 0815 debian apache drauf ist?

[/code]

Re: suexec spinnt

Posted: 2003-08-21 16:07
by space
ich habe mein baby mal rebooted, jetzt logt er wieder in die suexec log datei... strange....

Re: suexec spinnt

Posted: 2003-08-21 16:50
by jamesb
space wrote:war da so richtig? ;), beim kernel machte ich es immer anders.....
Ja, sonst würde dein Apache ja jetzt auch nichtmehr tun :-)
space wrote: FRAGE: kann ich den apache umbennenen? Also das deb Packet und die Datei selbst, so das mit dpkg aucm mitteiteilt das nicht der 0815 debian apache drauf ist?
Du kannst irgendwo in dem debian/-Ordner in einer Datei eine neue Versionsnummer eintragen, weiß jetzt aber leider nichtmehr, in welcher das war und wie man das automatisieren konnte (dazu gab's auch nen Befehl). Vielleicht meldet sich dea hier mal, der kennt sich damit super aus :-)

JamesB

Re: suexec spinnt

Posted: 2003-08-21 21:51
by dea
*schlotter*

Mutig, mutig, den Indianer so huschig neu zu bauen. Aber naja - es funktioniert.

Da es (für mich) spät ist, mein Kleinster gefüttert werden muss und ich keinen Bock habe, mein mehrstündiges Gesülze in einen Post zu hauen, hier einfach ein Link mit etwas weitergehenden Infos zum Thema "Backporting": http://www.atencio.de/lt2k3

Eins noch zum Abschluss: Backporting ist zweischneidig. Einerseits ist es leicht, wie Ihr ja bereits erlebt habt (der Indianer läuft nach 5 Minuten), andererseits (und insofern ist es schön, dass diese Frage hier aufkommt) ist es gefährlich.

Gefährlich, weil ich mir mittel- bis langfristig mein System "passiv" zerschießen kann. Stellt Euch mal ein schwer angepasstes System mit vielleicht 25 (nur so 'ne Zahl) Backports vor. Alle sind nicht auf einen Schlag entstanden sondern peu `a peu und alle wurden nicht als solche kenntlich gemacht.

Was passiert beim nächsten "apt-get update && apt-get dist-upgrade" einhalbes Jahr nach dem letzten Backport? Aua.

Es gibt mehrere Möglichkeiten, einen Backport als solchen kenntlich zu machen. Die einfachste wurde schon angesprochen: Umbenennen (jetzt ereilt mich wahrscheinlich gerade invalid_session *grrr*). Das geschieht am saubersten und einfachsten via dch. Aufruf aus dem Stammverzeichnis der Sourcen mit "dch -v <Paketname>-<Neue Versionierung>" Ich schlage für Backports den Suffix ".bp.<zielrelease>.<revision>" vor, also beispielsweise .bp.woody.0

Durch das Ã?ndern der Versionierung sind die Backports aber nur bei genauerer Betrachtung erkennbar. Momentan arbeite ich an einer Konzeption, wie sich Backport über die Kategorien und Priorities deutlicher sichtbar machen lassen. Leider liegt zu dieser Thematik kaum Doku vor bzw. ist für mich nicht auffindbar. Außerdem muss ich noch arbeiten ;)

Derzeit halte ich die Ã?nderung der Versionsnummer für den gangbarsten Weg. Einfach, erkennbar aber leider nicht deutlich erkennbar.

Von einer Ã?nderung des Namens der Software (z.B. apache -> indianer) rate ich dringend ab, da dadurch die gesamte Paketverwaltung ausgehebelt, schlimmstenfalls durcheinandergebracht wird (htdig depends eben nicht on indianer).

Ich werd' den Thread hier auf "Beobachten" setzen da ich normalerweise nicht hier anzutreffen bin. Bei Unklarheiten oder Fragen/Anregungen/Kritik stehe ich aber gerne per IGM, Mail oder Post mit aussagekräftigem Topic (!!!) im LuSD zur Verfügung :)

P.S.: invalid_session, ich hab's ja gewisst ... :(

Re: suexec spinnt

Posted: 2003-08-21 22:01
by space
hi dea,

vielen dank für den link, werde mich mal dem thema widmen.
ich wollte den apachen nie umbennenen, ich häts auch mit der revision gmacht, ich durchsuche mal die sourcen vom indianer

thx

Re: suexec spinnt

Posted: 2003-08-21 23:53
by dea
Wie gesagt, Umbenennen im Sinne von Ã?nderung der Versionskennung am besten und einfachsten mit dch (oder debchange).

Alle für die Paeterstellung relevanten Dateien findest Du unter debian/ im Stammverzeichnis der Quellen. Allerdings solltest Du zumindest ein wenig im Debian New-Maintainers-Guide und in der Debian-Reference schmökern damit Du Dir in etwa im Klaren bist, was Du dort anstellen kannst ;)

Re: suexec spinnt

Posted: 2003-09-08 02:40
by kuno
space wrote: der wrapper ist wie folgt eingestellt

Code: Select all

/usr/lib/apache/suexec -V
 -D DOC_ROOT="/var/www"
 -D GID_MID=100
 -D HTTPD_USER="www-data"
 -D LOG_EXEC="/var/log/apache/suexec.log"
 -D SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D UID_MID=100
 -D USERDIR_SUFFIX="public_html"
Hallo zusammen,

eine Rookie-Frage:
wenn ich

Code: Select all

/usr/sbin/suexec -V
eingebe, dann passiert _garnix_ :(
Habe einen suse 7.2 server laufen und bei mir liegt suexec in /usr/sbin

Habe Probleme mit mailman und habe -im Rahmen meiner Recherchen- jetzt festgestellt, dass auf meinen Server kein CGI löppt ....
(siehe auch anderen Thread von mir http://www.rootforum.org/forum/viewtopic.php?t=16405).

Habe eine Test-Script in "diverse" cgi-bin Verzeichnise kopiert (z.B. http://www.astroviews.de/cgi-bin/test.pl oder showuser.cgi) und es gibt eine 500er Error.... und suexec.log zeigt folgendes:
  • [2003-09-08 02:28:08]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
    [2003-09-08 02:28:08]: error: target uid/gid (537/102) mismatch with directory (537/101) or program (0/0)

...und error_log zeigt:
  • [Mon Sep 8 02:28:08 2003] [error] [client 217.226.74.39] Premature end of script headers: /usr/local/httpd/htdocs/kunden/web1/html/cgi-bin/test.pl


Alles was ich bis jetzt hier (und sonstwo im Netz) dazu gefunden habe, hilft mir nicht weiter (bin aber auch leider kein Linux-Crack)....
Da mir Meldungen in die /var/log/httpd/suexec.log geschrieben werden, gehe ich davon aus, dass suexec bei mir auch läuft...

Da ich keine Sourcen von apache auf meinen Server habe (habe das RPM für 7.2 installiert) und möglichst auch nicht -auf Verdacht- Apache oder suexec neu isntallieren/compilieren möchte, fand ich den -V Parameter interessant, um zu sehen, wie suexec eingestellt ist....
Wie kann ich das sonst noch rausbekommen?

Oder liegt das Problem garnicht bei suexec?

Oder gibt es von Euch evtl. andere Tips/Hinweise, wie ich CGI auf meinen Server (VirtualHosts) ans laufen bekommen kann ?

Ich weiss, Ihr hockt jetzt vor dem Schirm und verdreht bestimmt die Augen ("boarhh.... wieder so'n Rookie der nicht lesen kann..."), aber ich habe jede Menge verwirrendes Zeug gelesen und bin mittlerweile fast reif für'n Psycho-Doc :(

Vielen Dank für hilfreiche Hinweise/Tips/Hilfe !

Gruss,
Ralf

PS: meine ganzen Config files habe ich hier abgelegt, vielleicht hat ja jemand Zeit/Lust sich mein Caos mal anzusehen...:
http://www.astroviews.de/mailman_confs.zip

Re: suexec spinnt

Posted: 2003-09-08 03:14
by geeky
Prüf mal, ob diese Verzeichnisse alle den user web1 und die group ftponly haben:

/usr/local/httpd/htdocs/kunden/web1
/usr/local/httpd/htdocs/kunden/web1/html/
/usr/local/httpd/htdocs/kunden/web1/html/cgi-bin/

Re: suexec spinnt

Posted: 2003-09-08 10:53
by kuno
geeky wrote:Prüf mal, ob diese Verzeichnisse alle den user web1 und die group ftponly haben:

/usr/local/httpd/htdocs/kunden/web1
/usr/local/httpd/htdocs/kunden/web1/html/
/usr/local/httpd/htdocs/kunden/web1/html/cgi-bin/
Hallo,

nee, die haben web1 und www
Habs mal auf ftponly umgestellt, nützt auch nichts....

Gruss,
Ralf

Re: suexec spinnt

Posted: 2003-09-08 14:01
by jamesb
Kuno wrote:
  • [2003-09-08 02:28:08]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
    [2003-09-08 02:28:08]: error: target uid/gid (537/102) mismatch with directory (537/101) or program (0/0)
Du bist aber nicht blind...? Da steht ganz dick und fett, dass die Datei nicht dem User/Gruppe gehört, welchen es gehören sollte...

JamesB

Re: suexec spinnt

Posted: 2003-09-08 14:30
by kuno
JamesB wrote:
Kuno wrote:
  • [2003-09-08 02:28:08]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
    [2003-09-08 02:28:08]: error: target uid/gid (537/102) mismatch with directory (537/101) or program (0/0)
Du bist aber nicht blind...? Da steht ganz dick und fett, dass die Datei nicht dem User/Gruppe gehört, welchen es gehören sollte...

JamesB
Hallo JamesB,

doch, ich bin blind :(

Danke für den Hinweis !!!

Habe das korregiert und schwupps.....löppt das Test-CGI (Hello World)...

Abbbber leider scheint das Problem mit den Mailman-Scripten ein anderes zu sein, den hier meldet suexec.log folgendes:
  • [2003-09-08 14:20:05]: info: (target/actual) uid: (web5/web5) gid: (ftponly/ftponly) cmd: listinfo
    [2003-09-08 14:20:05]: error: command not in docroot (/usr/lib/mailman/cgi-bin/listinfo)
(wenn ich http://www.rb-foto.de/mailman/listinfo/liste1 eingebe)

Hier stimmen die Besitzer und die "not in docroot" Meldung kommt.....
Siehst Du hier auch irgendwas, wo ich blind bin ... ;) ?


Vielen Dank !

Gruss,
Ralf