Auf einem Server hat ein Benutzer 16040 sein Passwort verloren. Ich habe ein Passwort für root, aber kein Passwort für Benutzer 16040. Wie kann ich sein Passwort zurücksetzen?
Mit passwd 16040
frage mich Unix nach dem aktuellen Passwort, das ich nicht habe. Gibt es einen Befehl zum Zurücksetzen eines Benutzerpassworts ohne aktuelles Passwort?
passwd 16040
Changing password for 16040.
Current password for [email protected]:
# >
ist eher unüblich und hier>
lädt einfach als Teil des Befehls falsch interpretiert werden - gängige Praxis ist eine einfache Verwendung#
fürroot
-shells und$
für Nicht-Root diejenigen.Wenn Sie sich nicht direkt als Root anmelden können, können Sie es versuchen
sudo /usr/bin/passwd 16040
.sudo -i
und danach/usr/bin/passwd 16040
Ich gehe davon aus, dass
passwd
sich das in / usr / bin befindet (Sie können dies mit dem Befehl überprüfenwhich passwd
)quelle
sudo bash
Das Starten einerroot
Shell ist (obwohl allgemein üblich) eine wirklich sehr, sehr schlechtesudo
Übung. Es istsudo -s
odersudo -i
(Nicht-Login bzw. Login-Shell). Dies ehrt sogar Ihre Standard-Shell,/etc/passwd
ohne sich selbst darum kümmern zu müssen. Außerdembash
ist es für sich genommen eine schlechte Idee , keinen vollständigen Pfad anzugeben, da dies eine der ersten gefälschten Binärdateien ist, in die ein böswilliger Benutzer irgendwo hineingesteckt wird$PATH
.sudo -i
und habe daher die Antwort geändert. Wenn Sie jedoch von der Sicherheit und der Möglichkeit eines in der$PATH
möglicherweise verborgenen Trojaners sprechen, ist es besser, die Verwendung zu vermeiden,sudo -s
da Sie zumindest die hinzufügen$USER/bin
Verzeichnis und alle Alias, die Sie sich vorstellen können ... :-)sudo
Konfiguration ab: In der Standardkonfiguration, die mit ausgeliefertsudo
wird, wird der$HOME
Variablensatz nicht beibehalten, sodass Sie am Ende Ihre eigenen RC-Dateien haben, nicht die Ihrer$SUDO_USER
.