[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: generador de passwords



On Tue, 12 Sep 2000, Jaime E. Villate wrote:

> Alberto Rodríguez wrote:
> > El problema es que no lo quiero hacer de manera interactiva. passwd
> > funciona de manera interactiva, y yo tengo que crear unas 1500 cuentas
> > de correo...
> 
> Se me ocurre lo siguiente: si ya creaste las 1500 cuentas (o sea ya
> tienes un renglón /etc/passwd por cada usuario) usa el siguiente
> progrrama en perl:
> 
> ################################################################
> #!/usr/bin/perl
> open PWD, '</etc/passwd';
> open USERS, '>>usuarios.txt';
> open ENCR, '>>passwd.txt';
> while (<PWD>) {
>     ($user, $old, $info) = /^([^:]*):([^:]*)(.*)$/;
>     $salt = join '', ('.', '/', 0..9, 'A'..'Z','a'..'z')[rand 64, rand
> 64];
>     $pwd  = join '',(0..9,'A'..'Z','a'..'z',';',':','.',',','+','-','=')
> 	[rand 69, rand 69, rand 69, rand 69, rand 69, rand 69,
> 	 rand 69, rand 69];
>     $encr = crypt $pwd, $salt;
>     print USERS "$user\t$pwd\n";
>     print ENCR "$user:$encr$info\n";
> }
> ##################################################################
> 
> Este programa te va a crear dos ficheros: "psswd.txt", semejante a
> /etc/passwd, pero con las contraseñas modificadas (ya encriptadas,
> claro); el otro fichero es "usuarios.txt", que te dice cual es la nueva
> contraseña de cada uno (no encriptadas, claro).
> 
> Después tendrás que ver que partes de passwd.txt substituyes en
> /etc/passwd (en tu caso solo te interesará sobstituir las líneas de los
> 1500 usuarios de e-mail), y les puedes informar su nueva contraseña
> usando usuarios.txt.
> 
> Espero que esto te ayude.
> Jaime
> 
> 
> --  
> Unsubscribe?  mail -s unsubscribe debian-user-spanish-request@lists.debian.org < /dev/null
> 

Tu script genera claves dentro de /etc/passwd lo cual no se suele usar,
porque todo el mundo puede copiarlo y luego procesarlo con fuerza bruta.
Lo mejor es usar shadow pero afortunadamente se puede pasar la claves
de /etc/passwd a /etc/shadow con:

PWCONV(8)                                               PWCONV(8)


NAME
       pwconv, pwunconv, grpconv, grpunconv - convert to and from
       shadow passwords and groups.

El script debería terminar procesando /etc/passwd. con 'pwconv'.
													 


Un saludo

Antonio Castro

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /\     /\      Ciberdroide Informática (Tienda de Linux)
          \\W//            <<< http://www.ciberdroide.com >>>
	 _|0 0|_                                                    
+-oOOO--(___o___)--OOOo----------------------------------------------------+ 
|  . . . . U U . . . . Antonio Castro Snurmacher  acastro@ciberdroide.com  |  
|  . . . . . . . . . .                                                     | 
+()()()----------()()()----------------------------------------------------+
| Más de 1.000 sitios clasificados por temas sobre Linux en *Donde_Linux*  |
| <<< http://www.ciberdroide.com/misc/donde/dondelinux.html >>>            |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+




Reply to: