Ich bin derzeit bei "SERVER1" mit Benutzer "USER1" angemeldet, und ich habe mein Bash-Skript hier platziert. Dieses Skript muss zum anderen Benutzer "USER2" auf demselben Server "SERVER1" wechseln und einige Befehle mit dem neuen geschalteten Benutzer ausführen.Wie wechseln Sie zu einem anderen Benutzer innerhalb eines Shell-Skripts und führen einen Befehl mit dem neuen Benutzer aus?
Hinweis: USER1 ist kein Root-Benutzer, daher muss ich das USER2-Passwort innerhalb des Skripts angeben, jedoch in einem verschlüsselten Format.
Bitte helfen Sie mir dabei ..!
#!/bin/bash
command1
command2
.
.
...
echo "PASSWORD" | su USER2 << EOF
command1
command2
.
.
...
Bitte beachten Sie, ich möchte hier keine Konfigurationsdateien ändern, um dies zu erreichen.
Auch wenn es Ihnen gelingt, 'su' zu verwenden und das Passwort mit' expect' zu übergeben, muss das Passwort ein einfacher Text sein. Verwenden Sie 'sudo' mit der Option' NOPASSWD'. Dies garantiert, dass niemand das Passwort aus Ihrem Skript stehlen kann. – alvits