ausführen von Befehlen als su - mittels ssh Pipe
Verfasst: 22.01.2013, 09:17
Hallo Leute,
ich habe folgendes Problem:
Ich habe einen esx4 am laufen.
Ich möchte folgendes per Shellskript realisieren:
- mittels SSH-Pipe ein TAR-ARchive an den ESX senden und dort entpacken; zusätzlich mit innerhalb der Pipe auf dem Esx eine Benutzergruppe incl. Benutzer anlegen, Verzeichnisse erstellen, Besitzberechtigung mehrerer Verzeichnisse zuweisen.
- User auf ESX mit SSH Zugirffsrechten ist bereits erstellt. SSH-Login funktioniert.
Mein Problem in meinem Skript ist folgendes:
Ich versende das TAR-Archive mittels:
Das Archiv wird an den esx gesendet und im aktuellen Benutzerverzeichniss des ESX entpackt.
Wenn ich nach dem entpacken auf dem ESX mit zu root wechseln möchte und die Befehle zum User anzulegen übergeben will müsste dies doch wie folgt aussehen?
Im oben erwähnten Befehl bekomme ich nun folgendes Problem:
Ich beginne den Befehl in der SSH Pipe mit Anführungszeichen um das übergebene Archiv zu entpacken. Wenn ich nun in der Pipe nach su - -c wieder Anführungszeichen schreibe beende ich meine SSH-Pipe und die folgenden Befehle werden nicht gesendet.
Gibt es eine Möglichkeit dem Befehl su - -c die Befehle mitzugeben ohne Anführungszeichen zu verwenden?[/code]
ich habe folgendes Problem:
Ich habe einen esx4 am laufen.
Ich möchte folgendes per Shellskript realisieren:
- mittels SSH-Pipe ein TAR-ARchive an den ESX senden und dort entpacken; zusätzlich mit
Code: Alles auswählen
su - -c "Command ; Command"
- User auf ESX mit SSH Zugirffsrechten ist bereits erstellt. SSH-Login funktioniert.
Mein Problem in meinem Skript ist folgendes:
Ich versende das TAR-Archive mittels:
Code: Alles auswählen
tar -cf - /home/test/file1 /home/test/file2 | ssh -t user@ip "tar -xpvf - -C ~"
Das Archiv wird an den esx gesendet und im aktuellen Benutzerverzeichniss des ESX entpackt.
Wenn ich nach dem entpacken auf dem ESX mit
Code: Alles auswählen
su - -c
Code: Alles auswählen
tar -cf - /home/test/file1 /home/test/file2 | ssh -t user@ip "tar -xpvf - -C ~; su -c "groupadd testgroup ; useradd -g testgroup -d /home/test -m test; mkdir /home/test/test11""
Im oben erwähnten Befehl bekomme ich nun folgendes Problem:
Ich beginne den Befehl in der SSH Pipe mit Anführungszeichen um das übergebene Archiv zu entpacken. Wenn ich nun in der Pipe nach su - -c wieder Anführungszeichen schreibe beende ich meine SSH-Pipe und die folgenden Befehle werden nicht gesendet.
Gibt es eine Möglichkeit dem Befehl su - -c die Befehle mitzugeben ohne Anführungszeichen zu verwenden?[/code]