Hallo,
ich habe mir eine kleine Perl-Anweisung geschrieben, um in einem LDIF -File mit unverschlüsselten Passwörtern diese verschlüsseln zu lassen. Die Anweisung sieht wie folgt aus:
edit:
-
Das CRYPT wird vorher gesetzt mit dem Verschlüsselungsverfahren, entspricht also nicht unbedingt dem {CRYPT}. Das Verfahren auf Konsole und hier im Script ist aber identisch
-
Das Problem ist, dass er ein falsches Passwort erzeugt, d.h. wenn ich auf der Konsole z.B.:
eingebe, kommt was anderes raus, als das was das die Anweisung erzeugt.
Wenn ich in der Anweisung "-s \$2" durch "-s test" ersetze, wird das richtige Passwort erzeugt.
Wenn ich hinten statt $1 $2 angebe, um zu testen, dass das Richtige in $2 steht, schreibt er das korrekte Klartextpasswort hin, d.h. theo steht in $2 das Richtige.
Wie schaffe ich es jetzt mit meiner Anweisung, dass das richtige Passwort rauskommt?
MfG
ich habe mir eine kleine Perl-Anweisung geschrieben, um in einem LDIF -File mit unverschlüsselten Passwörtern diese verschlüsseln zu lassen. Die Anweisung sieht wie folgt aus:
Code:
perl -ne "if (/(userPassword: )(.*)/) { \$cp=\`slappasswd -s \$2 -h {${CRYPT}} \`; print \"\$\`\$1\$cp\$'\";} else { print; }" < $1 > $2
edit:
-
Das CRYPT wird vorher gesetzt mit dem Verschlüsselungsverfahren, entspricht also nicht unbedingt dem {CRYPT}. Das Verfahren auf Konsole und hier im Script ist aber identisch

-
Das Problem ist, dass er ein falsches Passwort erzeugt, d.h. wenn ich auf der Konsole z.B.:
Code:
slappasswd -s test -h {SHA}
eingebe, kommt was anderes raus, als das was das die Anweisung erzeugt.
Wenn ich in der Anweisung "-s \$2" durch "-s test" ersetze, wird das richtige Passwort erzeugt.
Wenn ich hinten statt $1 $2 angebe, um zu testen, dass das Richtige in $2 steht, schreibt er das korrekte Klartextpasswort hin, d.h. theo steht in $2 das Richtige.
Wie schaffe ich es jetzt mit meiner Anweisung, dass das richtige Passwort rauskommt?
MfG