suexec für bestimmte Verzeichnisse deaktivieren

Apache, Lighttpd, nginx, Cherokee
felixs
Posts: 119
Joined: 2003-06-01 20:57

suexec für bestimmte Verzeichnisse deaktivieren

Post by felixs » 2007-08-10 11:57

Hallo,

ich habe folgendes Problem und finde leider gerade keine Lösung:
Bestimmte Applikationen (konkret Nagios) würde ich gerne über das Paketsystem meiner Distribution installieren. Das klappt auch wunderbar, nur leider kann ich auf die mitgelieferten CGIs nicht zugreifen, weil ich suexec verwende und die CGIs natürlich außerhalb des docroot in /usr/... installiert wurden.

suexec benötige ich für den sicheren Schlaf, aber für Nagios würde ich eine Ausnahme machen und suexec (nur für das Nagios-Verzeichnis!) deaktivieren. Leider bekomme ich das nicht hin. Gibt es da eine Lösung, die ohne "suexec patchen" auskommt?

Situation kurz zusammengefasst:
1. CGIs in /usr/...
2. Zugriff über einen vhost, der mit suexec arbeitet.
3. Für ein bestimmtes Verzeichnis soll suexec deaktiviert werden.

Vielen Dank
fs

felixs
Posts: 119
Joined: 2003-06-01 20:57

Re: suexec für bestimmte Verzeichnisse deaktivieren

Post by felixs » 2007-08-10 12:10

Nur noch als Diskussionspunkte:
Ich vermute, dass mein Vorhaben so nicht funktionieren wird:
http://httpd.apache.org/docs/2.0/mod/mod_suexec.html
"Context: server config, virtual host"

D.h. ein Benutzer kann nur pro vhost (und nicht pro Verzeichnis) festgelegt werden.

Dies scheint ein Posting auf httpd-dev im August 2003 von Colm MacCarthaigh zu bestätigen, der einen Patch für eine solche Funktionalität eingeschickt hat. Da es aber offenbar keine Diskussion zu dieser Nachricht gab, wird der Patch wohl in Vergessenheit geraten sein.
http://mail-archives.apache.org/mod_mbo ... ib.net.%3e

Mein Fazit: Ich brauche einen neuen vhost und gebe dort SuexecUserGroup nicht an.

Geht es auch anders in einem bestehenden vhost mit suexec?
(Weil: Anderer vhost heißt, dass ich noch eine IP opfern muss und noch ein Zertifikat brauche.)

fs

dotme
Posts: 150
Joined: 2004-12-15 16:48

Re: suexec für bestimmte Verzeichnisse deaktivieren

Post by dotme » 2007-08-10 12:31

Ein einfaches Wrapperscript könnte Dir vielleicht auch weiterhelfen

Code: Select all

#!/bin/sh
REAL_CGI_SCRIPT="/some/path/script.cgi"

cd `dirname $REAL_CGI_SCRIPT`
exec $REAL_CGI_SCRIPT $@

Die Existenz des Skriptes und den erfolgreichen Verzeichniswechsel könnte man auch noch prüfen.

felixs
Posts: 119
Joined: 2003-06-01 20:57

Re: suexec für bestimmte Verzeichnisse deaktivieren

Post by felixs » 2007-08-10 12:33

Vielen Dank, das könnte in der Tat helfen. :-)

Da hätte ich aber echt auch selbst drauf kommen können: Immerhin setze ich nahezu identische Wrapper für FastCGI ein...

fs