Ihr Anliegen
Sie wollen aus einem Skript heraus das Passwort von root oder einem anderen Benutzer ändern. Dies soll ohne Benutzerinteraktion erfolgen.
Eine Lösung
Der Befehl passwd
liest das Passwort von der Standardeingabe, wenn Sie die Option --stdin
angeben. Beispiele:
root@linux# echo 'geheim' | passwd --stdin root
root@linux# echo '73/3g78' | passwd --stdin mk
Achtung!
Dieses Vorgehen birgt unter Umständen Sicherheitsrisiken, da das Passwort im Klartext übergeben wird. Das Passwort wird u.A. sichtbar:
- in der History der Bash, wenn Sie den Befehl interaktiv eingeben
- für kurze Zeit in der Prozessliste (Befehl
ps ax
)
Die Lösung kann trotzdem geeignet sein, z.B. wenn zur Zeit der Generierung keine anderen Benutzer auf dem System angemeldet.