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

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
sudo & sh auf entfernten Rechnern

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



Anmeldungsdatum: 05.06.2004
Beiträge: 86

BeitragVerfasst am: 23. Aug 2005 8:16   Titel: sudo & sh auf entfernten Rechnern

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
 
Benutzer-Profile anzeigen Private Nachricht senden

klopskuchen
prolinux-forum-admin


Anmeldungsdatum: 26.06.2004
Beiträge: 1444

BeitragVerfasst am: 23. Aug 2005 20:32   Titel:

Zitat:
sudo -u root sh 192.168.0.3:/path/to/script.sh


Du meinst rsh?
_________________
When all else fails, read the instructions .
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

micbur



Anmeldungsdatum: 05.06.2004
Beiträge: 86

BeitragVerfasst am: 24. Aug 2005 8:45   Titel:

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
 
Benutzer-Profile anzeigen Private Nachricht senden

klopskuchen
prolinux-forum-admin


Anmeldungsdatum: 26.06.2004
Beiträge: 1444

BeitragVerfasst am: 24. Aug 2005 20:51   Titel:

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 ('ls -l');
  echo "$list";
?>

</BODY>
</HTML>


MfG, Klopskuchen
_________________
When all else fails, read the instructions .
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

kanonenfutter



Anmeldungsdatum: 10.09.2004
Beiträge: 266

BeitragVerfasst am: 24. Aug 2005 21:29   Titel:

> 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/
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

micbur



Anmeldungsdatum: 05.06.2004
Beiträge: 86

BeitragVerfasst am: 25. Aug 2005 8:19   Titel:

kanonenfutter hat folgendes geschrieben::
> 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
 
Benutzer-Profile anzeigen Private Nachricht senden

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

 
Gehen Sie zu:  

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