SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.02.2005, 18:05:59
didi86 didi86 ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 77
Problem mit shell_exec()

Hi,
ich bin gerade dabei, ein Webinterface zur Steuerung meines (SuSE) Linux-Servers zu schreiben.
Immer, wenn ich aber mitr shell_exec() versuche einen systemnahen Befehl auszuführen, wird dieser aber nicht korrekt ausgeführt. Dies liegt vermutlich daran, dass ich mit Apache keine root-Rechte habe. (Wäre ja auch eine riesige Sicherheitslücke...)

Gibt es eine Möglichkeit einem php-Script vorübergehend root-Rechte zu verschaffen? Ich habe es mit shell_exec("su"); versucht. Da dieser Befehl dann aber auf eine Passworteigabe wartet, kann er so nicht funktionieren. Gibt es irgendeine Alternative?
mfg Chris
__________________
http://schach.didi-site.de

Geändert von didi86 (28.02.2005 um 18:06:55 Uhr)
Mit Zitat antworten
  #2  
Alt 01.03.2005, 04:58:25
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Problem mit shell_exec()

Zitat:
Zitat von didi86
Gibt es irgendeine Alternative?
Ja: SUDO.
Mit Zitat antworten
  #3  
Alt 01.03.2005, 18:16:39
didi86 didi86 ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 77
AW: Problem mit shell_exec()

Habe sudo gerade installiert. In der Kommandozeile funktioniert es auch sehr gut, nur aus PHP heraus bekomme ich weder eine Rückmeldung, noch hat der Befehl irgendeine Auswirkung.

Meine Theorie ist, dass Apache keine Berechtigung hat sudo auszuführen...
Irgendwelche Ideen???

UPDATE: Ich glaube, meine Theorie hat sich bestätigt:
Wenn ich
PHP-Code:
echo(shell_exec("dir /url/")); 
starte, bekomme ich ein Ergebnis zurück. Der Befehl
PHP-Code:
echo(shell_exec("sudo dir /url/ passwort")); 
gibt nichts zurück, obwohl sudo dir /url/ passwort in der Shell ordnungsgemäß funktioniert...

UPDATE2:
Habe gerade festgestellt, dass 'sudo befehl passwort' nur funktioniert, wenn man als root angemeldet ist. Ansonsten fragt auch sudo nach einem Passwort. Gibt es eine Möglichkeit mit PHP auf eine Eingabeaufforderung eines Befehles zu antworten?

mfg Chris
__________________
http://schach.didi-site.de

Geändert von didi86 (01.03.2005 um 19:51:53 Uhr)
Mit Zitat antworten
  #4  
Alt 01.03.2005, 22:46:12
didi86 didi86 ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 77
AW: Problem mit shell_exec()

Ich habe das Problem mit folgendem Quelltext (habe ich von php.net kopiert) gelöst.
PHP-Code:
$descriptorspec = array(
   
=> array("pipe""r"),  // stdin is a pipe that the child will read from
   
=> array("pipe""w"),  // stdout is a pipe that the child will write to
   
=> array("file""/tmp/error-output.txt""a"// stderr is a file to write to
);
$process proc_open("su -c '%befehl%'"$descriptorspec$pipes);
if (
is_resource($process)) {
   
// $pipes now looks like this:
   // 0 => writeable handle connected to child stdin
   // 1 => readable handle connected to child stdout
   // Any error output will be appended to /tmp/error-output.txt

   
fwrite($pipes[0], "%passwort%n");
   
fclose($pipes[0]);

   while (!
feof($pipes[1])) {
       echo 
fgets($pipes[1], 1024);
   }
   
   
fclose($pipes[1]);
   
// It is important that you close any pipes before calling
   // proc_close in order to avoid a deadlock
   
$return_value proc_close($process);

   echo 
"command returned $return_valuen";

Kann mir aber trotzdem noch irgendjemand erklären, wie dieses Script funktioniert???
mfg Chris
__________________
http://schach.didi-site.de

Geändert von didi86 (01.03.2005 um 22:47:41 Uhr)
Mit Zitat antworten
  #5  
Alt 02.03.2005, 02:37:55
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Problem mit shell_exec()

Zitat:
Zitat von didi86
Habe gerade festgestellt, dass 'sudo befehl passwort' nur funktioniert, wenn man als root angemeldet ist. Ansonsten fragt auch sudo nach einem Passwort. Gibt es eine Möglichkeit mit PHP auf eine Eingabeaufforderung eines Befehles zu antworten?
Wozu? Konfiguriere SUDO so, daß für die Ausführung des Scriptes als Root kein Passwort erforderlich ist. Wie, steht in den manpages von suso.
Mit Zitat antworten
  #6  
Alt 02.03.2005, 03:05:21
didi86 didi86 ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 77
AW: Problem mit shell_exec()

Zitat:
Zitat von meikel
Wozu? Konfiguriere SUDO so, daß für die Ausführung des Scriptes als Root kein Passwort erforderlich ist. Wie, steht in den manpages von suso.
Ist das nicht eine riesige Sicherheitslücke? Dann kann doch wwwrun mit sudo praktisch jeden Befehl ausführen, egal, ob dies autorisiert ist oder nicht.
Mir persönlich gefällt mein PHP-Script besser. (Auch wenn es wesentlich länger und rechenintensiver ist und ich keinen blassen Schimmer habe, wie es funktioniert...)
__________________
http://schach.didi-site.de

Geändert von didi86 (02.03.2005 um 03:05:45 Uhr)
Mit Zitat antworten
  #7  
Alt 02.03.2005, 06:13:54
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Problem mit shell_exec()

Zitat:
Zitat von didi86
Ist das nicht eine riesige Sicherheitslücke?
Nein.
Zitat:
Dann kann doch wwwrun mit sudo praktisch jeden Befehl ausführen, egal, ob dies autorisiert ist oder nicht.
Du solltest die manpage von sudo lesen und keine Vermutungen anstellen.

Zitat:
Mir persönlich gefällt mein PHP-Script besser. (Auch wenn es wesentlich länger und rechenintensiver ist und ich keinen blassen Schimmer habe, wie es funktioniert...)
Kein Mensch zwingt Dich dazu, meine Tips zur Kenntnis zu nehmen. Du fragtest, wie Du per Webinterface Angelegenheiten des Roots erledigen kannst, und ich hatte Dir einen der Wege beschrieben, wie es gemacht wird.

Was Du vorhast, nämlich das Rootpaßwort mittels eines PHP Scriptes an su zu übergeben, würde mir zB. absolut nicht einfallen. Da würde ich lieber die PIN auf die EC Karte schreiben...
Mit Zitat antworten
  #8  
Alt 02.03.2005, 15:44:34
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Problem mit shell_exec()

Zitat:
Zitat von meikel
Da würde ich lieber die PIN auf die EC Karte schreiben...
und bei e-bay für'n euro verkloppen :->
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
count Problem Holstenjungs MySQLi/PDO/(MySQL) 24 21.09.2004 17:39:05
Problem mit einen Formular Fabian85 HTML, CSS und JavaScript Help! 13 07.06.2004 23:34:53
Problem mit einer Abfrage für eine Suchoption. Bitte um schnelle Hilfe!!! Fabian85 MySQLi/PDO/(MySQL) 1 21.04.2004 17:12:13
mysql und php problem schmidt PHP für Fortgeschrittene und Experten 9 31.10.2003 19:05:13
SSL Problem im Internet Explorer, need help! Gladder PHP für Fortgeschrittene und Experten 6 02.09.2002 23:21:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:56:24 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt