User anlegen auf mehreren Systemen
Posted: 2013-05-09 14:12
Hallo zusammen,
Ich komme hier mit einem kleinen anliegen welches mich nun seit mehreren Tagen beschäftigt.
Ausgangssituation hierzu ist folgende.
Ich habe hier ca. 100 Server stehen. Alle Server laufen auf RedHat.
Hierbei müssen immer wieder Praktikanten/Azubis am System angelegt werden.
Aktuell bin ich nun soweit:
Mit cygwin logge ich mich über ein Perl Skript auf einen "Jumpserver" ein und verbinde von dort auf die einzelnen Servern nacheinander. Name & Passwort werden automatisch übergeben.
Daraufhin soll er dann mehrere Befehle zum adden des Users ausführen.
Da wir bei uns im Netzwerk alle einen personalisierten Zugang zum Server haben und root-Zugang nicht möglich ist versetzen wir uns mit dem Befehl "sudo su -" in den root-Modus
Somit sind wir also nach dem Login mit als "User" eingeloggt. nun soll er folgende Befehle ausführen.
sudo su -
cp /etc/sudoers /tmp/sudoers_backup
adduser -c "kommentarkommthier" -p encryptedpassword USERNAME
echo "USERNAME ALL=NOPASSWD:ALL" >> /etc/sudoers
exit
Diese Befehle sind in einer Datei welche auf dem Jumpserver liegen.
Nun soll dieses bzw die Befehle bei der SSH Verbindung zu den einzelnen Servern übergeben werden und die Befehle durchgeführt werden.
Hierbei bin ich jedoch auf das Problem gestoßen dass er zwar zum Server connected und auch noch den Befehl "sudo su -" ausführt jedoch nicht mehr den Rest der Befehle da er eine neue Shell startet und dann in den Timeout läuft oder ich mich mit exit aus dem Root auslogge. Und arbeitet dann die restlichen Befehle wieder als User ab.
Wie kann ich beim SSH zum Server alle 5 Befehle übergeben sodass auch alle 5 ausgeführt werden und automatisch weiter im root ausgeführt werden.
Ich komme hier mit einem kleinen anliegen welches mich nun seit mehreren Tagen beschäftigt.
Ausgangssituation hierzu ist folgende.
Ich habe hier ca. 100 Server stehen. Alle Server laufen auf RedHat.
Hierbei müssen immer wieder Praktikanten/Azubis am System angelegt werden.
Aktuell bin ich nun soweit:
Mit cygwin logge ich mich über ein Perl Skript auf einen "Jumpserver" ein und verbinde von dort auf die einzelnen Servern nacheinander. Name & Passwort werden automatisch übergeben.
Daraufhin soll er dann mehrere Befehle zum adden des Users ausführen.
Da wir bei uns im Netzwerk alle einen personalisierten Zugang zum Server haben und root-Zugang nicht möglich ist versetzen wir uns mit dem Befehl "sudo su -" in den root-Modus
Somit sind wir also nach dem Login mit als "User" eingeloggt. nun soll er folgende Befehle ausführen.
sudo su -
cp /etc/sudoers /tmp/sudoers_backup
adduser -c "kommentarkommthier" -p encryptedpassword USERNAME
echo "USERNAME ALL=NOPASSWD:ALL" >> /etc/sudoers
exit
Diese Befehle sind in einer Datei welche auf dem Jumpserver liegen.
Nun soll dieses bzw die Befehle bei der SSH Verbindung zu den einzelnen Servern übergeben werden und die Befehle durchgeführt werden.
Hierbei bin ich jedoch auf das Problem gestoßen dass er zwar zum Server connected und auch noch den Befehl "sudo su -" ausführt jedoch nicht mehr den Rest der Befehle da er eine neue Shell startet und dann in den Timeout läuft oder ich mich mit exit aus dem Root auslogge. Und arbeitet dann die restlichen Befehle wieder als User ab.
Wie kann ich beim SSH zum Server alle 5 Befehle übergeben sodass auch alle 5 ausgeführt werden und automatisch weiter im root ausgeführt werden.