Gruppe und User vom Apache feststellen

Bash, Shell, PHP, Python, Perl, CGI
twisterchen
Anbieter
Posts: 232
Joined: 2005-07-14 14:13

Gruppe und User vom Apache feststellen

Post by twisterchen »

Hallo

ich suche eine möglichkeit über ein Shellscript den User vom Apache festzustellen, wobei das für Debian oder Suse funktionieren sollte.

Sprich ich bräucht einfach nur den namen des Apacheusers (www, www-data usw was es halt so alles gibt )

Mir fehlt hierzu leider der ansatz und die suche bei google ergab keine für mich umsetzbare lösung.

Vielleicht ist das ja kein grosser akt und ihr habt mir einen Tip

MfG

Brandmeir Gerhard
User avatar
daemotron
Administrator
Administrator
Posts: 2639
Joined: 2004-01-21 17:44

Re: Gruppe und User vom Apache feststellen

Post by daemotron »

Spontan fallen mir zwei Möglichkeiten ein:
  • Ausgabe von

    Code: Select all

    ps aux
    mit grep & Co. weiterbearbeiten
  • Die Apache-Konfigurationsdatei mit sed nach den beiden Zeilen für user und group durchkämmen
Die erste Lösung hat den Charme, den User bestimmen zu können, unter dem Apache tatsächlich läuft (allerdings nicht die Gruppe), während die zweite wahrscheinlich leichter umzusetzen ist.
twisterchen
Anbieter
Posts: 232
Joined: 2005-07-14 14:13

Re: Gruppe und User vom Apache feststellen

Post by twisterchen »

ps aux

ok währe ne möglichkeit das problem dabei ist ich weis nicht wie die varianten auf verschieden system ist mit welchem pfad bzw namen der apache leuft.
z.B
/usr/sbin/httpd2-prefork
/usr/sbin/httpd2
/usr/sbin/httpd
/usr/sbin/apache2

usw
da gibts wohl unedliche methoden auch die Konfdatei des Apachen zu durchsuchen währe ne möglichkeit nur die liegt auch nicht immer in /etc/apache2 bzw /etc/apache

gibt es vielleicht noch eine andere möglichkeit

MfG
Brandmeir Gerhard
User avatar
daemotron
Administrator
Administrator
Posts: 2639
Joined: 2004-01-21 17:44

Re: Gruppe und User vom Apache feststellen

Post by daemotron »

Eine so globale Lösung wie von Dir angestrebt halte ich für nicht umsetzbar, wenn man den Aufwand gering halten möchte. Um aus der Prozessliste heraus ableiten zu können, unter welchen User Apache läuft, muss man erst einmal den richtigen Prozess identifizieren - falls Apache überhaupt gestartet wurde. Außerdem ist nicht auszuschließen, dass eine Suche nach httpd in der Prozessliste nicht noch andere Prozesse zu Tage fördert. Also müssen weitere Tests gemacht werden (z. B. alle verdächtigten Binaries mit "--version" aufgerufen werden und diese Ausgaben wieder durchgekämmt werden). Ist der Aufruf des Prozesses jedoch bekannt, wäre die Übung trivial...

Bei der zweiten Möglichkeit müsste zunächst einmal geprüft werden, wo sich die Konfigurationsdatei(en) für Apache überhaupt befinden. Bei SUSE z. B. stehen User und Gruppe in einer extra Datei, die nur per include eingebunden wird, bei einem selbst kompilierten Indianer liegt das Zeugs möglicherweise unter /usr/local/apache/etc/httpd.conf oder wo auch immer. Unterm Strich also recht unlustig.

Letzt Möglichkeit die mir noch einfällt und die bisher noch nicht genannt wurde: ein PHP-Skript einspielen, das von Apache per mod_php ausgeführt wird. Dieses wäre in der Lage, User und Gruppe auszugeben. Nachteil: es wird vorausgesetzt, dass mod_php installiert und konfiguriert ist. Alternativ lässt sich das vielleicht auch mit Perl umsetzen. Auf meinen Systemen würde es zu irreführenden Angaben kommen, da ich PHP per FastCGI laufen lasse. Die Prozesse erzeuge ich über ein Shellscript unter jeweils anderen Usern...
twisterchen
Anbieter
Posts: 232
Joined: 2005-07-14 14:13

Re: Gruppe und User vom Apache feststellen

Post by twisterchen »

hmmm ok THX

werd mir dann was anderes überlegen schade das es hier keine einfachere Lösung gibt.


Gruss
Gerhard
static
Posts: 437
Joined: 2002-10-27 19:56
Location: Schweiz

Re: Gruppe und User vom Apache feststellen

Post by static »

Hi

Eine Idee die vielleicht funktionieren könnte:

Per Netstat den Prozess finden, der auf Port 80 liegt, dort die PID auslesen, und mit ps die Prozesse ausgeben, die diese Parent ID haben.

Ich hab das mal eben ausprobiert und dürfte eigentlich klappen.

static
twisterchen
Anbieter
Posts: 232
Joined: 2005-07-14 14:13

Re: Gruppe und User vom Apache feststellen

Post by twisterchen »

Hallo

ja genau das wäre ne lösung super werd das auch gleich mal umsetzten

Vielen Dank

Gruss
Brandmeir Gerhard
suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Gruppe und User vom Apache feststellen

Post by suntzu »

Hi,

aus /etc/httpd.conf grep-en? Wenn es wirklich universell sein soll, bringt schließlich auch ein ps aux z.B. auf *BSD nicht unbedingt was, wenn es nicht als root ausgeführt wird...
eof__
Posts: 30
Joined: 2005-07-12 17:40

Re: Gruppe und User vom Apache feststellen

Post by eof__ »

ausserdem gibt es unter bsd leider die PID Option fuer netstat
nicht, oder meine manpage ist veraltet?

Beim Herausgreppen muessen natuerlich allerhand backup Pfade
und dergleichen ausgeschlossen werden.