Creacion de usuarios en linux
Jan 27th, 2005 by zapcome
Hace tiempo puse este post en otro blog que tenia, pero ahora que ya hice mi propio sistema de blogs
lo pongo aquí para quede para la posteridad….
Dicen que la necesidad es la madre de la invención, y justamente eso quedo demostrado para mi el día de hoy.
Tenia que crear unos 90 usuarios en un servidor de correo y no me la iba a pasar toda la tarde con el useradd y el passwd… así que cree un script en PERL para poder hacerlo. Al final pude crearle un pseudo menu con el cual podía eliminar todas las cuentas de usuario o generarlas. Espero que a alguien le sirva.
--- Script en Perl ---
#!/usr/local/bin/perl
# Archivo usado para crear TODOS los usuarios en el sistema. Por defecto los usuarios se crean sin acceso al shell.
# El archivo a usar se llama usuarios
# El archivo tiene que tener la siguiente estructura.
# usuario:password:nombre:grupo
$file = ‘usuarios.txt’;
# $usuario = Nombre de Usuario
# $nombre = Nombre de la persona
# $password = Password de la cuenta
# $grupo = Grupo primario al cual pertenece
sub trim {
my($string)=@_;
for($string){
s/^\s+//;
s/\s+$//;
}
return $string;
}
$comillas = chr(34);
$slash = chr(47);
open (FILE,”$file”);
print “Que desea hacer?\n”;
print “1. Crear todos los usuarios\n”;
print “2. Eliminar todos los usuarios\n”;
$elec = <stdin>;
while($linea = ){
chop($linea);
@fields = split(/:/,$linea);
$usuario = @fields[0];
$password = @fields[1];
$nombre = “$comillas@fields[2]$comillas”;
$grupo = @fields[3];
chop($grupo);
$pass_enc = crypt(trim($password) , ‘yourkey’);
if($elec == 1) {
system(”useradd $usuario”);
system(”usermod -s /bin/nologin -c $nombre -g $grupo -p $pass_enc $usuario”);
print “Usuario $usuario creado\n”;
}
elsif ($elec == 2) {
system(”userdel $usuario”);
system(”groupdel $usuario”);
print “Usuario $usuario eliminado\n”;
}
else {
print “Por favor escoja un valor entre el 1 o el 2″;
}
}
close(FILE);
— Fin del Script —
El archivo del cual se pueden recuperar la información de los usuarios debe ser, así como dice el mismo script, un archivo de texto que tenga la información de esta manera
usuario1:password1:nombre:grupo principal
usuario2:password2:nombre2:grupo principal
Pueden hacer con el código lo que quieran, pero si lo van a publicar MINIMO una mencion a este su servidor.
Saludos!
El codigo es muy interesante, sigue así, y publica mas codigo
gracias por el post, me va ha servir mucho