Wir wissen, dass die Passwörter der Benutzer in /etc/passwd
gespeichert werden , aber auf verschlüsselte Weise, sodass selbst der Root sie nicht sehen kann:
jane:x:501:501::/home/jane:/bin/bash
fred:x:502:502::/home/fred:/bin/bash
Wie oben gezeigt, :x:
steht für das Passwort.
Gibt es eine Möglichkeit (mögliche Konfiguration), das Passwort in /etc/passwd
zu speichern im Klartext und so, dass der Root sie sehen kann?
Akzeptierte Antwort:
Die anderen beiden Antworten haben Ihnen – richtig! – gesagt, dass dies eine schlechte Idee™ ist . Aber sie haben dir auch gesagt, dass es hart ist zu tun, was das Ändern einer Reihe von Programmen erfordert.
Das ist nicht wahr. Es ist sehr leicht. Sie müssen nur eine oder zwei Konfigurationsdateien ändern. Ich finde es wichtig, darauf hinzuweisen, denn Sie sollten sich dessen bewusst sein, wenn Sie sich in Systeme einloggen, die Sie nicht kontrollieren. Diese setzen kein Klartext-Passwort in /etc/passwd
oder /etc/shadow
, es wird in eine andere Datei verschoben. Hinweis:Ich habe diese nicht getestet, da ich mein Passwort lieber nicht im Klartext haben möchte.
-
Bearbeiten Sie
/etc/pam.d/common-password
(um das geänderte Passwort zu erfassen) oder/etc/pam.d/common-auth
(um beim Login zu fangen) und fügen Sie… pam_exec expose_authtok log=/root/passwords /bin/cat
hinzu -
Bearbeiten Sie beide und wechseln Sie mit
crypt=none
von pam_unix zu pam_userdb . Alternativ könnten Sie es nur in common-password setzen (und dabei pam_unix belassen), um Passwörter nur aufzuzeichnen, wenn sie geändert werden. -
Sie könnten den
shadow
entfernen (sowie alle starken Hash-Optionen) von pam_unix, um die Schattendatei zu deaktivieren und zu herkömmlichen Krypta-Passwörtern zurückzukehren. Kein Klartext, aber John the Ripper wird das für Sie beheben.
Weitere Einzelheiten finden Sie im PAM System Admin Guide.
Sie könnten auch den Quellcode von PAM bearbeiten oder Ihr eigenes Modul schreiben. Sie müssten nur PAM (oder Ihr Modul) kompilieren, sonst nichts.