cambiar valores en una base de datos de OpenLDAP

NYARLATHOTEP El Caos Reptante nyarlathotep.elcaosreptante en gmail.com
Lun Ene 3 19:58:31 CLST 2005


si, soy yo de nuevo, con este asuntillo sobre ldap...

tengo el siguiente script en perl:

#!/usr/bin/perl
use General; #esta libreria la tengo cargada por defecto, la cual
controla la base de datos
use Net::LDAP;

#variables de dn de root
my $dn = "cn=Manager,dc=misitio,dc=cl";
print "contrasenya del 'Manager'\n";
my $passwd = <stdin>;

#conectamos a ldap
my $ldap = Net::LDAP->new('127.0.0.1:389');

my $mesg = $ldap->bind(dn=>"$dn",password=>$passwd);

#buscamos el user_webmail de la base de datos 
my $uw = $dbh->prepare("select user from usuario order by userl");
$uw->execute;

while (my ($user_webmail, $password) = $uw->fetchrow_array){

    #cambiamos contrasenya
    my $dntc = "uid=$user_webmail,ou=People,dc=misitio,dc=cl";
    $chg_pw = $ldap->modify($dntc, replace=>{'userPassword' => $password});

    if ($chg_pw->code !=0){
        print "no se cambio la contrasenya para $user\n";
    } else {
        print "se cambio la contrasenya para $user\n";
    }

}

y no cambia la contraseña del usuario.

realizo un slapcat y esto (como ejemplo) es lo que obtengo

dn: uid=cleiva1,ou=People,dc=misitio,dc=cl
structuralObjectClass: account
entryUUID: bc99a366-eded-1028-97cc-c916c2664d2c
creatorsName: cn=Manager,dc=misitio,dc=cl
createTimestamp: 20041229140027Z
uid: cleiva1
cn: cleiva1
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJHBhZDFQOS52JDY5Ly5GM2pRcUY3YS8=
shadowLastChange: 12389
shadowMax: 99999
shadowWarning: 7
loginShell: /sbin/nologin
uidNumber: 8687
gidNumber: 500
homeDirectory: /home/mailhosting/cleiva1
entryCSN: 20050103171412Z#000021#00#000000
modifiersName: cn=Manager,dc=misitio,dc=cl
modifyTimestamp: 20050103171412Z

Y el archivo slapd.conf lo tengo con la autorizacion para que el
'Manager' pueda escribir sobre la base de datos.

gracias nuevamente

(si alguien quiere enviarme flames, favor de enviarlos a reset en cyberspace.org)
-- 
Alguien quiere una cuenta en gmail?
avisenme... :)



Más información sobre la lista de distribución Linux