Ich möchte das Passwort eines Benutzers in der ändern /etc/shadow
. Ich kann keine Programme zum Ändern von Passwörtern wie verwenden passwd
. Dies muss durch Bearbeiten der erfolgen /etc/shadow
. Das /etc/shadow
ist auf einer montierten Festplatte und Chroot funktioniert nicht.
Zum Beispiel:
root:$asdf.1AH.MJ3sivd4$YFoFnasdf4cZW9H6G6cbT4.1VBmasdfmv.a0wCU/i3zEFasdfasdf4W.:15843:0:99999:7:::
otheruser:$asdf.1AH.MJ3sivd4$YFoFnasdf4cZW9H6G6cbT4.1VBmasdfmv.a0wCU/i3zEFasdfasdf4W.:15843:0:99999:7:::
Kann jemand mir ein Shell - Skript geben Sie das Passwort von root mit ändern sed
oder awk
oder so etwas?
Antworten:
Sie können dazu das Tool mkpasswd verwenden. Es gibt eine gute Einführung in die Verwendung auf cyberciti.biz mit dem Titel: Linux / UNIX: Generieren eines zufälligen Passworts mit mkpasswd .
Beispiel
Das Paket wird normalerweise aufgerufen
makepasswd
, aber das Tool wird normalerweise aufgerufenmkpasswd
.Weitere Informationen finden Sie in der Manpage .
Inhalte
/etc/shadow
direkt generierenDer folgende Python-Befehl generiert den Teil, der in die
/etc/shadow
Datei aufgenommen wird:Python
Perl
Welches erzeugt die folgende Ausgabe:
Ändern des / etc / shadow
Hier ist ein Befehl, der den vorhandenen Eintrag mit dem neu generierten Kennwortfeld aus dem obigen Befehl ändert.
HINWEIS: Dies ist ein grobes Beispiel, funktioniert aber. Sie müssen die Ergebnisse aus dem Befehl entnehmen, der das Hash-Passwort generiert hat, und die Dollarzeichen ($) mit Schrägstrichen (\ $) maskieren.
Die Ergebnisse werden in einer neuen Datei /etc/shadow.new gespeichert. Sobald Sie die Ergebnisse bestätigt haben, können Sie sie durch
/etc/shadow
die neue Datei ersetzen/etc/shadow.new
.quelle
history
oderlast
Protokollen belassen.Die einfachste Lösung, wenn ein leeres Kennwort für Sie kein Problem darstellt, besteht darin, die Datei / etc / passwd und nicht die Datei / etc / shadow zu ändern.
Eine Beispielzeile der Datei / etc / passwd lautet:
Das 'x' in dieser Zeile bedeutet, dass das Passwort tatsächlich gehasht in der Schattendatei gespeichert ist. Eine Sache, die Sie tun können, ist, es einfach so zu entfernen:
Dann können Sie sich tatsächlich mit dem Benutzernamen root und mit einem leeren Passwort anmelden.
Ich hoffe, das hilft
quelle
Entfernen Sie das Kennwort für den Benutzer in / etc / shadow, starten Sie das System, melden Sie sich ohne Kennwort an und verwenden Sie den Befehl passwd. Wenn möglich, bringen Sie das System erst dann in das Netzwerk, wenn dies abgeschlossen ist.
quelle
/etc/shadow
wird verhindert, dass sich der Benutzer mit einem Kennwort anmeldet, da nichts, was Sie eingeben, zu einem Hash führen kann, der mit der leeren Zeichenfolge übereinstimmt.