Código de Linux/Unix Shell Scripting - Crear usuario de linux automaticamente

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 29 de Agosto del 2005gráfica de visualizaciones de la versión: Versión 1
40.341 visualizaciones desde el 29 de Agosto del 2005
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
 
#cogemos el total de lineas del archivo que contiene los usuarios.
#el archivo de los usuarios, contiene un listado de todos los usuarios a agregar
#con la estructura: NumeroUsuario:usuario:password
lineas=`cat /home/pxl/usuarios | wc -l`
let lineas=lineas+1
i=1
 
#bucle hasta que $i es igual al numero de lineas, es decir, hasta que se ha leido
#todo el fichero
while [ $i -lt $lineas ];do
	#obtenemos cada una de las lineas
	linea=`head -$i /etc/pxl/usuaris | tail -1`
	#obtenemos el identificador del usuario
	nuevo_identificador=`echo $linea | cut -d: -f1`
	#aumentamos en 1000 el identificador del usurio. Esto lo hacemos, ya que los 
	#identificadores de nuestro archivo, empiezan por el 1.
	nuevo_identificador=`expr $nuevo_identificador + 1000`
	#cogemos el nombre del nuevo usuario
	nuevo_usuario=`echo $linea | cut -d: -f2`
	#cogemos ca contraseña del nuevo usuario
	nuevo_password=`echo $linea | cut -d: -f3`
 
	#codificamos el nuevo password utilizando perl
	passwordf=`perl -e 'print crypt("'"$nuevo_password"'","SA"), "\n";'`
 
	#Comprovamos si ya existe el identificador que vamos a añadir, para quitarlo
	#ante de agregarlo nuevamente
	viejo_identificador=`cat /etc/passwd | grep :$nuevo_identificador: | cut -d: -f1`
	if [ ! -z "$viejo_identificador" ];then
		userdel "$viejo_identificador"
	fi
 
	#comprovamos si ya existe el usuario que vamos a agregar.
	existeix=`cat /etc/passwd | grep ^"$nuevo_usuario:"`
	if [ -z $existeix ];then
		#agregamos el usuario y lo asignamos al grupo 100 (users)
		useradd -u $nuevo_identificador -g 100 -p $passwordf "$nuevo_usuario"
	fi
 
	let i=i+1
done



Comentarios sobre la versión: Versión 1 (2)

bascor
7 de Febrero del 2006
estrellaestrellaestrellaestrellaestrella
al ejecutar el codigo tengo este error El servidor encontro un error interno y fue imposible completar su solicitud, otros script en perl me funcionand pero este no, estoy corriendo red hat 9, me puedes ayudar gracias
Responder
capitanquartz
14 de Diciembre del 2007
estrellaestrellaestrellaestrellaestrella
Muchas gracias por el codigo, me sirvio para hacer un script de otro tema. Aun asi, te advierto que veas el codigo porque ahi por lo menos un error, que yo he encontrado (una errata). No lo he probado, pero la errata en si impide el funcionamiento del script.

Un saludo.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1221