No consigo que funcione un usuario creado con un script

Imagen de fgspon
0 puntos

Quisiera poder crear usuarios mediante un script (tengo que crear más de 30 en varios ordenadores y me sería muy util hacer un script y correrlo en los ordenadores)

Por ejemplo, supongamos que quiero crear el usuario "prueba" con la contraseña "123456", con el id "1010" y que pertenezca a los grupos:  "alumnos, adm,dialout,fax,cdrom,floppy,tape,audio,dip,plugdev,scanner,fuse"

Creo el script con el nombre: usuarios y con la siguiente línea:

sudo useradd  -m -galumnos -Gadm,dialout,fax,cdrom,floppy,tape,audio,dip,plugdev,scanner,fuse -p123456 -u1010 -cprueba prueba

 ahora ejecuto el script mediante: sudo bash usuarios

Al ir a mirar veo que el usuario se ha creado y en los grupos mencionados, pero sin embargo, cuando cierro sesión e intento entrar introduciendo el nombre de usuario: prueba  y la contraseña: 123456,   no entra y dice que usuario/contraseña incorrectos.

 ¿Dónde fallo?

Imagen de slap
+1
0
-1

Hola, la contraseña debes ponerla encriptada.
Según man useradd:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3). The default is to disable the account

Para el password puedes usar:
-p`perl -e 'print crypt("'"$nuevo_password"'","SA"), "\n";'`

Saludos.
sLap

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de fgspon
+1
0
-1

He añadido la línea con crypt como dices. Al final ha quedado:

sudo useradd  -m -galumnos -Gadm,dialout,fax,cdrom,floppy,tape,audio,dip,plugdev,scanner,fuse -p`perl -e 'print crypt("'"123456"'","SA"), "\n";'` -s/bin/bash -u1001 -cinf1 inf1 

Bien. Ahora soy capaz de entrar, o sea que reconoce la contraseña. Pero sin embargo da un error, apareciendo varias ventanas diciendo que no se ha podido cargar la configuración de nautilus, red, etc. Al final da un error de falta del fichero gconfd. Finalmente aparece una pantalle en negro con 4 iconos (papelera, icones de disco) que funcionan, pero no aparece el escritorio habitual. 

 

+1
0
-1
Imagen de slap
+1
0
-1

Al usar la opción -m de useradd se crea el directorio /home/(usuario) y se copia en él todo lo que haya en /etc/skel.

En mi caso, con Feisty, el único archivo que hay es un enlace simbólico a los ejemplos de Ubuntu:
Examples -> /usr/share/example-content

Es posible que tengas que crear el directorio: Desktop en /etc/skel

Puedes verificar si esto soluciona tu problema si creas manualmente el directorio Desktop dentro de /home/inf1 con permisos 755 y propietario y grupo: inf1.
Después reinicias la sesión de ese usuario.

sLap

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de fgspon
+1
0
-1

Efectivamente, hice lo que decías, Skel, y funciona. Para ayudar a otros personas que quieran crear un usuario de esta forma, mediante un script, escribo las líneas necesarias que a mi me funcionan para crear un usuario: inf1 perteneciente al grupo: alumnos y con contraseña: 123456: 

sudo useradd  -m -galumnos -Gadm,dialout,fax,cdrom,floppy,tape,audio,dip,plugdev,scanner,fuse -p`perl -e 'print crypt("'"123456"'","SA"), "\n";'` -s/bin/bash -u1011 -cinf1 inf1
sudo mkdir /home/inf1/Desktop -m755
sudo chown inf1 /home/inf1/Desktop
sudo chgrp alumnos /home/inf1/Desktop

 

+1
0
-1