SHA512 /etc/shadow Hash mittels openSSL

bit-teufel

bit-teufel

Eroberer
Hallo,

ich würde gerne die /etc/shadow Datei automatisiert mittels openssl befüllen.
Es geht hier vorallendingen um den Passwort Hash. Dieser soll ein SHA512 Hash sein.
Wenn ich folgenden Befehl ausführe:

echo -n "testSALZ" | openssl dgst -sha512 -binary | openssl base64

kommt ein 90 Zeichen langes Passwort heraus. Dies ist aber nicht /etc/sahdow konform.
Mit dem Kommando:

perl -e 'print crypt("test", "\$6\$SALZ\$")'

kommt ein shadow konformer Passwort Hash heraus. Perl nutzt hier die crypto lib Funktion von glibc .

Kann man das ganze auch mittels openssl nachbilden ?

Danke und Gruß
B.-D.
 
Das Problem ist, dass die crypt() Funktion einen anderen base64 Zeichensatz verwendet, als openssl: https://wiki.openssl.org/index.php/Base64#WARNINGS
So wie ich das verstanden habe, ist es nicht möglich, das Standardschema zu ändern. D.h. du wirst auf andere Applikationen/Bibliotheken zurückgreifen müssen, um crypt() zu emulieren.
Aber warum verwendest du diese Funktion eigentlich nicht direkt? Sogar die Funktionen welche die Shadow Datei direkt beschreiben sind in shadow.h verfügbar. Du kannst dir also ohne großen Aufwand ein kleines C Programm schreiben, welches die /etc/shadow für dich beschreibt und/oder ausliest.
Siehe:
Code:
man shadow

Viele Grüße,
Pik-9
 
Zuletzt bearbeitet:
Zurück
Oben