User Authentification with perl/cgi

Gunnar Wolf gwolf en campus.iztacala.unam.mx
Mar Ago 29 13:11:47 CDT 2000


> Andamos por acá haciendo un sistemilla con perl/cgi/postgress y
> para poder liberarlo a los usuarios necesitamos identificar al
> usuario mediante el esquema clásico de nombre y contraseña (todo
> por no decir login/password).
> 
> Con getpwnam() podemos verificar el login, pero ¿cómo podemos
> verificar la contraseña? Usamos shadow y md5 y como es de
> esperarse el CGI corre como usuario normal (uid=gid)!=root.
> 
> ¿Alguien sabe como verificar esto? ¿Dónde debemos leer? Estoy
> seguro que se debe poder (todo se puede en Perl) pero NPI de por
> dónde empezar.

Con getpwnam jalas la linea completa de /etc/passwd:

print join(':',getpwnam(gwolf));

me responde

gwolf:x:500:500:::Gunnar Wolf:/home/gwolf:/bin/bash

Claro, estoy utilizando shadow passwords, por lo que no aparece la
contrase&a. Estoy buscando en el CPAN, a ver si por encimita me aparece
algo que permita manejar pam... No, a primera mano no encontre
nada... Pero bueno, como sea, tener acceso a /etc/shadow requiere que seas
root... Si haces que parte de tu script corra como root, puedes leer de
ese archivo...

Salu!

-------------------------------------------------------------------
           Gunnar Wolf    gwolf en campus.iztacala.unam.mx
     Universidad Nacional Autónoma de México, Campus Iztacala
   Jefatura de Sección de Desarrollo y Admon. de Sistemas en Red
        Area de Seguridad en Computo - DCI - DGSCA - UNAM
-------------------------------------------------------------------
  Beginner thinks 1Kb == 1000 bytes.   Master knows 1Km == 1024m

---------------------------------------------------------
para salir de la lista, enviar un mensaje con las palabras
"unsubscribe ayuda" en el cuerpo a majordomo en linux.org.mx



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