Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
PHP Befehl um einen Befehl auf dem Rechner auszuführen?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Netzwerk
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Bastler
Gast





BeitragVerfasst am: 05. Feb 2002 18:44   Titel: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

Gibt es eigtl einen PHP-Befehl, mit dem ich normale Befehle direkt auf dem router ausführen kann, als würde ich sie in die Konsole eingeben?
Und wenn ja, gibt es auch eine Möglichkeit dem HTTP-Server die entsprechenden rechte z.u geben, dass er bestimmte Befehle ausführen kann.
 

Thorsten
Gast





BeitragVerfasst am: 07. Feb 2002 21:31   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

Auf dem Router?!
PHP läuft auf einem WebServer und wird auch von diesem interpretiert. Falls dein Webserver auch gleichzeitig dein Router ist, geht dies natürlich.
In PHP sind hierfür u.a. die Funktionen "system()" oder auch "exec()" zuständig.
Ob der Webserver genügend Rechte für die Ausführung hat ist dann natürlich eine andere Sache, auch, ob er überhaupt diese Befehle / Programme "sehen" kann (Wenn der Webserver in einer ge-chroot()eten Umgebung läuft wird dies sehr unwahrscheinlich).
Erstell doch einfach ein Test PHP File in dem du das ganze ausprobierst...
<?php
system(uptime);
?>

Gruß

Thorsten
 

Bastler
Gast





BeitragVerfasst am: 12. Feb 2002 23:14   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

Hast selbstverständlich recht, der Rechner läuft als Router und als Webserver, ich sag nur immer "der Router", wenn ich von diesem Rechner spreche, da ist mir das so rausgerutscht. Ich werde das Skript mal ausprobieren. Was muss ich aber tun, wenn ich dem Apache die Rechte geben will, einen Befehl auszuführen, aber möglichst so, dass andere nutzer (gast z.B.) diese befehle nicht ausführen können. Die befehle sind nämlich solche Sachen wie init X, etc, also nichts was der gastbenutzer z.B. über ssh dann auch eingeben könnte.

Danke im Voraus
 

Bastler
Gast





BeitragVerfasst am: 12. Feb 2002 23:15   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

P.S. Was ist eigtl eine ge-chroot-ete Umgebung?, bzw was macht chroot?
 

rag



Anmeldungsdatum: 24.01.2002
Beiträge: 24

BeitragVerfasst am: 13. Feb 2002 17:03   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

Hier der Link zu (meiner Meinung nach) der besten Funktionsreferenz für PHP.

www.php.net

Komplette Doku Teilweise auch in deutsch und ein sehr gute Funktionsreferenz.

Gruß
raG
_________________
-*-
<-there is no life before coffee->
-*-
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

Thorsten
Gast





BeitragVerfasst am: 14. Feb 2002 22:36   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

> Was ist eigtl eine ge-chroot-ete Umgebung?, bzw was macht chroot?

Beim chroot()en wird ein Prozess in ein bestimmtes Verzeichnis "verbannt", d.h. der Prozess sieht dieses Verzeichnis als Root ("/") an.
Chrootest du z.B. Apache auf das Verzeichnis "/var/www/" kann Apache unter keinen Umständen auf das Verzeichnis "/foo/bar/" zugreifen.

Daraus ergibt sich allerdings auch ein Problem: Der gechrootete Prozess kann auch auf Kommandos wie "ls" nicht mehr zugreifen, da diese ausserhalb seiner Chroot-Umgebung liegen, sämtliche Befehle die der Prozess nutzen können soll musst du ihm also durch kopien dieser Befehle in seiner Chroot Umgebung zur Verfügung stellen.

D.h.: Soll Apache auch "ls" ausführen können brauchst du im Verzeichnis "/var/www" ein Unterverzeichnis "bin/" in dem dann eine Kopie des "ls" Prozesses abgelegt ist.

Ich hoffe, ich habe mich einigermaßen Verständlich ausgedrückt...

Gruß

Thorsten
 

Bastler
Gast





BeitragVerfasst am: 19. Feb 2002 22:57   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

Ja, du hast dich klar ausgedrückt, Danke. Ich muss also, falls mein Apache in einer gechrooteten Umgebung läuft im Verzeichnis /usr/local/httpd ein bin-Verzeichnis anlegen und den Befehl init und weitere reintun. Wie krieg ich allerdings raus, OB mein Apache in einer gechrooteten Umgebung läuft? (Zur Info: Ich habe SuSE 7.1, wenn dir das weiterhilft.)

Danke übrigens für den php.net - Tip
 

Thorsten
Gast





BeitragVerfasst am: 20. Feb 2002 9:44   Titel: Re: PHP Befehl um einen Befehl auf dem Rechner auszuführen?

Tja, wie bekommt man soetwas raus? Wirklich gute Frage, fällt mir leider nichts zu ein. SuSE verwendet allerdings, wenn ich recht informiert bin, standardmäßig keine gechrootete Umgebung für Programme.
Auch die Rechte sollten eig. schon von vornherein so vergeben sein, dass Apache (zumindest einfache) Programme (uptime, ls) ausführen kann.
Hast du denn mal eine Testdatei angelegt und das ganze ausprobiert?

Gruß

Thorsten
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Netzwerk Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy