[bcn-pm] Extraño error con getpwnam

Jose Pedro Andres Garcia macklusadebianitas.net
Dme Feb 8 16:10:23 PST 2006


Buenas:
    Me he encontrado con un error muy raro, y no se si es tema de perl, 
o si es problema de Debian.
Os cuento:
    Intento validar usuarios del sistema, cojiendo el password 
encriptado y el uid con la funcion getpwnam.
    El codigo de ejemplo seria este:

foreach ( 'root', 'macklus' ) {
        if ( getpwnam ( $_ ) ) {
                my ($upass,$uid) = ( getpwnam ( $_ ))[1,2];
                print "RECIBO: $upass, $uid\n";
        } else {
                print "ERROR: Usuario $_ no se devuelve !\n";
        }
}

    El tema es que, tanto ejecutandolo como root, como haciendolo como 
usuario, me devuelve siempre que el usuario root no se devuelve ( por 
supuesto existe en el sistema :D ). En realidad no devuelve ningun 
registro que tenga UID == 0.
    La logica que veo aqui es que por seguridad no se devuelven 
registros de uid = 0 , para evitar que un usuario de sistema pille el 
pass encriptado de root, p.e.. Pero la verdad es que he usado antes esta 
funcion, y no me suena haber tenido estos problemas.

¿ Alguno sabe si este comportamiento es de perl o de debian ?
¿ Alguien puede probar esto en un linux que no sea debian, para saber si 
es de esta distro o es general ?
¿ Alguno habeis tenido este problema ?

Gracias de antemano.


Més informació de la llista de correu Barcelona-pm