Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 10. Dez 2018 17:22

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: sudo & sh auf entfernten Rechnern
BeitragVerfasst: 23. Aug 2005 8:16 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Hallo,

so leicht wie ich dachte, ist es doch nicht.

Ich habe zwei Maschinen. Und ich möchte auf der einen Maschine ein Skript schreiben, dass auf einer anderen Maschine andere Skripte ausführt. Und damit es so richtig kompliziert wird, soll das Ganze zum Schluss in ein PHP-Skript eingebunden werden.

Aber zunächst teste ich alles in der Shell des ersten Rechners.
Ich dachte, ich könnte entfernte Skripte dadurch starten, dass ich einfach
Code:
sudo -u root sh 192.168.0.3:/path/to/script.sh
ausführe und dann läuft es. Leider bekomme ich die Fehlermeldung: No such file or directory.

Ich habe schon geschaut, aber sowohl sh, als auch sudo sind auf beiden Systemen vorhanden und der Pfad zum Skript stimmt auch.
Da bleibt nur noch ein Fehler in meiner Syntax, die aber laut man-pages korrekt ist bzw. ich glaube, dass sie korrekt ist.

Wie würdet ihr das machen?
Ein Skript auf einem Rechner, soll ein Skript auf einem anderen Rechner starten.

Ciao, micbur


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 23. Aug 2005 20:32 
Offline
prolinux-forum-admin

Registriert: 26. Jun 2004 21:18
Beiträge: 1444
Zitat:
sudo -u root sh 192.168.0.3:/path/to/script.sh
Du meinst rsh?

_________________
When all else fails, read the instructions .


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Aug 2005 8:45 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Ja, also ... so richtig weiß ich nicht, was ich meine. Ich weiß nur, was ich will.
Ich werde es mal probieren.

Ich möchte vom Webserverein Skript starten, dass ein Skript auf dem Datenbankserver startet. Das Skript auf dem Datenbankserver führt dann ein tolles rsync aus.

Das Ganze soll dann ohne erneute Eingaben vom Benutzer funktionieren. Also habe ich auf den beiden Servern schon RSA-Schlüssel getauscht. Ziel ist es, auf dem Webserver ein PHP-Skript laufen zu lassen, dass vom Benutzer gestartet wird.

Mir fielen darauf hin zwei Wege ein, ein Mal mittels ssh und ein Mal mittels sudo.

Ciao, micbur


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Aug 2005 20:51 
Offline
prolinux-forum-admin

Registriert: 26. Jun 2004 21:18
Beiträge: 1444
Bei dem rsh läuft ein Dämon auf einem Server der Shellbefehle von Clienten verarbeitet. Den Ablauf kann man sich ähnlich wie bei telnet vorstellen. War aber wohl nicht ganz das was du suchst.

Mit der Funktion exec kannst du aus php heraus shell-Befehle absetzen. Mit den Rechten des scripts!
Code:
<HTML>
<HEAD><TITLE>micburs remote-webshell</TITLE></HEAD>
<BODY>

<?php
  $list = exec &#40;'ls -l'&#41;;
  echo "$list";
?>

</BODY>
</HTML>
MfG, Klopskuchen

_________________
When all else fails, read the instructions .


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Aug 2005 21:29 
Offline

Registriert: 10. Sep 2004 14:37
Beiträge: 266
> Mir fielen darauf hin zwei Wege ein, ein Mal mittels ssh und ein Mal mittels sudo.

und wieso machst du es dann nicht, nämlich ssh nehmen?
ssh -i identity_file XXXX -l root $hostname $command

_________________
"Email und Internet haben gemeinsam, dass sie beide in HTML geschrieben sind" (Peter Huth, TV-Computerexperte). Zitiert nach http://www.antihuth.de/


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 25. Aug 2005 8:19 
Offline

Registriert: 05. Jun 2004 15:55
Beiträge: 86
Zitat:
> Mir fielen darauf hin zwei Wege ein, ein Mal mittels ssh und ein Mal mittels sudo.

und wieso machst du es dann nicht, nämlich ssh nehmen?
ssh -i identity_file XXXX -l root $hostname $command
Guten Morgen,

Weil bei einem musste ich noch ein Passwort eingeben und Dialoge kann man mit PHP schlecht beantworten.
Und irgendwie hatte das Andere auch nicht funktioniert. Ich weiß jetzt auch nicht mehr warum, aber jedenfalls war die Ausgabe nicht wie gewünscht und gemacht wurde auch nichts. Returncode war -1.

Um genau zu sein, gibt es drei Möglichkeiten in PHP etwas per Shell auszuführen:
- exec
- shell_exec
- system

Funktionieren alle ähnlich. Da ich ein rsync ausführen möchte, hatte ich mich für eine Variante entschieden, bei der ich die Ausgabe des Programms zurückbekomme.

Habt ihr das mal ausprobiert?
Ich meine, ich habe ja nun zwei Tage - immer mal wieder, wenn mir was eingefallen ist - rumprobiert und da habe ich es nicht hinbekommen, zumindest nicht so wie ich es haben wollte.

Aber vielen Dank. Ich werde es probieren.

Ciao, micbur


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de