Gruppe und User vom Apache feststellen
-
twisterchen
- Anbieter
- Posts: 232
- Joined: 2005-07-14 14:13
Gruppe und User vom Apache feststellen
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
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
Re: Gruppe und User vom Apache feststellen
Spontan fallen mir zwei Möglichkeiten ein:
- Ausgabe von mit grep & Co. weiterbearbeiten
Code: Select all
ps aux - Die Apache-Konfigurationsdatei mit sed nach den beiden Zeilen für user und group durchkämmen
-
twisterchen
- Anbieter
- Posts: 232
- Joined: 2005-07-14 14:13
Re: Gruppe und User vom Apache feststellen
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
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
Re: Gruppe und User vom Apache feststellen
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...
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
hmmm ok THX
werd mir dann was anderes überlegen schade das es hier keine einfachere Lösung gibt.
Gruss
Gerhard
werd mir dann was anderes überlegen schade das es hier keine einfachere Lösung gibt.
Gruss
Gerhard
Re: Gruppe und User vom Apache feststellen
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
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
Hallo
ja genau das wäre ne lösung super werd das auch gleich mal umsetzten
Vielen Dank
Gruss
Brandmeir Gerhard
ja genau das wäre ne lösung super werd das auch gleich mal umsetzten
Vielen Dank
Gruss
Brandmeir Gerhard
Re: Gruppe und User vom Apache feststellen
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...
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...
Re: Gruppe und User vom Apache feststellen
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.
nicht, oder meine manpage ist veraltet?
Beim Herausgreppen muessen natuerlich allerhand backup Pfade
und dergleichen ausgeschlossen werden.
