Hallo Leute,
ich habe folgendes Problem:
Ich habe einen esx4 am laufen.
Ich möchte folgendes per Shellskript realisieren:
- mittels SSH-Pipe eingepacktes TAR-ARchive an den ESX senden und dort entpacken; zusätzlich als "su - -c" innerhalb der Pipe auf dem Esx eine Benutzergruppegruppe anlegen incl. Benutzer, Verzeichnisse erstellen, Besitzberechtigung mehrerer Verzeichnisse ändern.
- User auf ESX mit SSH Zugirffsrechten ist bereits erstellt. SSH-Login funktioniert.
In einem anderen Forum habe ich folgenden Ansatz dazu gefunden:
ssh -t user@IP su- -c "command1; command2"
Mein eigentliches Problem mit diesem Befehl ist folgendes:
Ich versende das TAR-Archive mittels
tar -cf - /home/test/file1 /home/test/file2 | ssh -t user@ip "tar -xpvf - -C ~"
Das Tar-Kommando klappt und das Archiv wird ins aktuelle Benutzerverzeichniss des ESX entpackt.
Wenn ich nun nach su - wechseln möchte um die User anzulegen müsste ich doch folgendes machen?
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 und entpacke das Archiv.
wenn ich nun nach su - -c wieder Anführungszeichen schreibe beende ich meine SSH-Pipe!!
Gibt es eine Möglichkeit dem Befehl su - -c die Befehle mitzugeben ohne Anführungszeichen zu verwenden?