Scripts de creación de usuario (For)

Hola a todos. Estoy buscando apuntes por internet que me expliquen como funciona lo siguiente, pero es que no encuentro nada:

Imagen

Entiendo mas o menos la mitad pero, podría alguien explicarme un poco? [mad] (Si sabeis donde puedo encontrar info tambien estaría genial)

Muchas gracias.

Edit: Ésto iría aqui o en "Software Libre"?
Exactamente donde tienes la duda.

En el primero por ejemplo, "I" va tomando los valores "01", "02" etc... y por cada iteración hace un useradd con ese dato. Para ver como son exactamente las opciones de useradd puedes hacer un "man useradd" pero es bastante sencillo
Acermax escribió:Exactamente donde tienes la duda.

En el primero por ejemplo, "I" va tomando los valores "01", "02" etc... y por cada iteración hace un useradd con ese dato. Para ver como son exactamente las opciones de useradd puedes hacer un "man useradd" pero es bastante sencillo


Hmm veamos:

En el ejemplo useradd, añade los usuarios (usuario01, usuario02 etc etc...) a un grupo principal llamado "grupo" y un grupo secundario llamado "grupos"?

En la siguiente linea (-d) le crea un directorio home con su nombre o algo asi?

(echo contraseña;echo contraseña) <- Ésto hace que se repita la contraseña?

passwd -e <-- fuerza el cambio de contraseña a los usuarios creados?

Ésto es la única idea que tengo. Luego la segunda parte (con sufijo variable) ya es un lio, porque le mete el $NOMBRE$I por un lado pero por otro lado solo usuario$I [burla3]
TheLinker escribió:
Acermax escribió:Exactamente donde tienes la duda.

En el primero por ejemplo, "I" va tomando los valores "01", "02" etc... y por cada iteración hace un useradd con ese dato. Para ver como son exactamente las opciones de useradd puedes hacer un "man useradd" pero es bastante sencillo


Hmm veamos:


TheLinker escribió:En el ejemplo useradd, añade los usuarios (usuario01, usuario02 etc etc...) a un grupo principal llamado "grupo" y un grupo secundario llamado "grupos"?

Si. La idea de esto es que "grupo" y "grupos" le puedas meter lo que quieras, claro.
TheLinker escribió:En la siguiente linea (-d) le crea un directorio home con su nombre o algo asi?

Exactamente. Igual que cuando te creas cualquier usuario en casi cualquier linux con los asistentes, verás que tienes una carpeta en /home/tunombredeusuario/ pues esto es lo que crea esa carpeta y se la asigna

TheLinker escribió:(echo contraseña;echo contraseña) <- Ésto hace que se repita la contraseña?

La línea continúa. De hecho es (echo contraseña;echo contraseña) | passwd usuario$I
Esto basicamente es uso de "pipes" o tuberías. El funcionamiento de esto es que hace 2 veces un echo, en el que puedes poner "contraseña" como ahí, leerlo del teclado, de una variable o lo que te apetezca. La pipe lo que hace es que el resultado, en vez de sacarlo por pantalla como haría normalmente el echo, se lo mete al passwd como un input. Así que el resultado sería que le harías un passwd a usuario$I y se le metería de contraseña lo del echo.


TheLinker escribió:passwd -e <-- fuerza el cambio de contraseña a los usuarios creados?


Exacto, esa opción lo que hace es que cuando el usuario logee con esta nueva cuenta, le pedirá la contraseña que quiere tener

TheLinker escribió:Ésto es la única idea que tengo. Luego la segunda parte (con sufijo variable) ya es un lio, porque le mete el $NOMBRE$I por un lado pero por otro lado solo usuario$I [burla3]


El segundo script es muy similar, la verdad es que no veo mucho cambio. Hay una doble iteración, pero es simple, crea los usuarios utilizando los 2 nombres a la vez. La verdad es que la línea del passwd no le veo mucho sentido, puede ser un error del "copy/paste" del anterior.
[/quote]




Puedo estar equivocado ya que hace mucho que no toco bash, ni nada de sh en general. Si es así que me corrija alguien.
Si, ésa línea del passwd del segundo script es lo que me tiene un poco confuso :-? , pero seguiré investigando.

Muchas gracias! se me han despejado algunas las dudas. De momento me voy a la cama, mañana volveré si surge alguna pregunta más.
4 respuestas