Mit welchen Methoden werden Kennwörter in / etc / passwd und / etc / shadow verschlüsselt?

19

Eine sorgfältige Prüfung der /etc/passwdund /etc/shadow-Dateien zeigt, dass die gespeicherten Passwörter mit einer Art Hash-Funktion gehasht wurden.

Eine schnelle Google-Suche zeigt, dass die Passwörter standardmäßig mit DES verschlüsselt sind . Beginnt ein Eintrag mit $, zeigt dies an, dass eine andere Hash-Funktion verwendet wurde.

Zum Beispiel beginnen einige Einträge auf meinem Ubuntu-Rechner mit $6$...

Was bedeuten die verschiedenen Zahlen?

Nathan Osman
quelle

Antworten:

28

Die vollständige Liste befindet sich in man 3 crypt( Webversion ):

          ID  | Method
          -------------------------------------------------
          1   | MD5
          2a  | Blowfish (on some Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

(Blowfish kann entweder $2$oder $2a$laut Wikipedia Crypt (Unix) sein .)

Also $6$heißt SHA-512.

Welches Ihr System verwendet, hängt von allen Optionen ab, die an das PAM-Modul pam_unix übergeben werden .

Die Standardeinstellung für die neueste Version von Ubuntu lautet /etc/pam.d/common-password:

password        [success=1 default=ignore]      pam_unix.so obscure sha512

Wenn Sie das nächste Mal Ihr Passwort ändern, wird es mit SHA-512 gehasht, vorausgesetzt, Ihr Konto ist lokal und nicht NIS / LDAP / Kerberos usw.

Siehe auch:

Mikel
quelle
Eine schnelle Überprüfung meiner /etc/shadowzeigt 2 Einträge, die mit beginnen $6$.
Nathan Osman
Beachten Sie, dass SHA-256 und SHA-512 Teil des SHA-2-Satzes von Hash-Funktionen sind.
Mattdm
4
Beachten Sie, dass es sich bei den auf SHA-2 basierenden Crypt-Hashes nicht um reines SHA-2 handelt. Dies wäre schlecht, da reines SHA-2 gegen Wörterbuchangriffe schwach ist. Die SHA-2-Kryptografieschemata verwenden die einfachen Hashes als Baustein, fügen jedoch einen variablen Arbeitsfaktor (um Wörterbuchangriffe zu verlangsamen) und ein Salt hinzu.
CodesInChaos
Auf meinem Ubuntu-Rechner hat das root-Passwort ein Ausrufezeichen ( !). Das man shadowbedeutet, dass das Passwort gesperrt ist und Sie sich nicht direkt mit dem Unix-Passwort anmelden können. Es hat damit zu tun, dass Ubuntu das Root-Konto standardmäßig deaktiviert hat.
Akronix