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

Responder a