Добрый день, алл. Написал на скорую руку перловый скрипт, который и из текстового файла переводит в файл ldif и которое в последствии должно импортироваться в LDAP, с паролями, именами итд. Но сталкнулся с проблемой в том что, MD5 выдает не тот хеш который нужен мне, чтобы пользователь смог потом пройти аутентификацию.
Собственно сам скрипт:#!/usr/bin/perl
use Digest::MD5 qw(md5 md5_hex md5_base64);
use Encode qw(encode_utf8);
$i=1008;
open(FILE, "TopHoldingPasswd1.csv") or die "Невозможно открыть файло!!: $!\n";
while ($line = <FILE>) {
($username, $password, $name, $famil, $mail) = split(" ", $line);
$passwd = md5_hex($password);
# print md5(encode_utf8($password)),"\n";
# print "username: $username, password: md5{$passwd}, name: $name \n";
open (FILE1, "> /tmp/ldap/$username.ldif") or die "Невозможно создать файло!!: $!\n";
print FILE1 "dn: uid=$username,ou=people,dc=example,dc=com \n";
print FILE1 "homeDirectory: /dev/null \n";
print FILE1 "loginShell: /bin/bash \n";
print FILE1 "objectClass: top \n";
print FILE1 "objectClass: posixAccount \n";
print FILE1 "objectClass: inetOrgPerson \n";
print FILE1 "objectClass: person \n";
print FILE1 "objectClass: organizationalPerson \n";
print FILE1 "objectClass: shadowAccount \n";
print FILE1 "uidNumber: $i \n";
print FILE1 "gidnumber: 1000 \n";
print FILE1 "uid: $username \n";
print FILE1 "givenName: $name \n";
print FILE1 "sn: $famil \n";
print FILE1 "userpassword: {md5}$passwd \n";
print FILE1 "mail: $mail \n";
print FILE1 "cn: $name $famil \n";
close(FILE1);
$i++;
};
close(FILE);
Пароль хешируется в {md5}2d9c7g43g1e62f80a4bfce850cb516e9, но в LDAPе хеш находятся такого типа: {md5}Toe2xIjPTDg0l598fajd9z==
Подскажите, в чем косяк и как поправить, если не сложно =)
ЗЫ: как можно увидить перл я знаю не очень хорошо.
ЗЫЫ: Спасибо, за ответ.