viernes, 3 de octubre de 2014

Creación de usuarios

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Vamos a empezar con una serie de entradas dedicadas a la creación, gestión y supresión de usuarios, algo crucial cuando de un sistema GNU/Linux se trata. Para ello empezaremos diseccionando el principal comando de creación de usuarios como es useradd.

useradd
Para crear un nuevo usuario llamado pepe teclearemos sudo useradd pepe.

  • useradd -c "técnico administrativo" pepe: crea el usuario pepe añadiéndole la descripción que tenemos entrecomillada, y que se denomina campo GECOS. Se usa para proporcionar información extra sobre el usuario relativa a su puesto, ocupación, nombre completo, etc.
  • useradd -d /house/pepe: indica un directorio home alternativo (en este caso sería house) para el usuario pepe. Este directorio ha de existir previamente y después habría que hacer a pepe propietario del mismo a través del comando chown.
  • useradd -e 2015-12-31 pepe: crea el usuario pepe, que será desactivado en la fecha indicada.
  • useradd -f 16 pepe: indica el número de días en que la cuenta se bloqueará por falta de uso.
  • useradd -g grupo1 pepe: crea un grupo primario, aquí denominado grupo1, (grupo principal que un usuario debe obligatoriamente tener asignado) para el usuario pepe, el cual debe existir previamente.
  • useradd -G empleados contables pelotas pepe: especifica los grupos (aquí denominados empleados, contables y pelotas) a los que pertenecerá el recién creado usuario pepe. Dichos grupos deben existir previamente.
  • useradd -m pepe: crea el directorio por defecto home para el usuario pepe.
  • useradd -M pepe: no crea el directorio por defecto home durante la creación del usuario pepe.
  • useradd -n pepe: añade un grupo con el mismo nombre del usuario creado.
  • useradd -N pepe: no crea un grupo con el mismo nombre del usuario.
  • useradd -r pepe: convierte al nuevo usuario pepe en usuario de sistema (que solo gestionan determinados servicios como red, impresoras...).
  • useradd -s /bin/Bash: crea el usuario pepe con la shell Bash por defecto.
  • useradd -u UID pepe: crea el usuario pepe con el UID que le indiquemos.
  • useradd -D: tecleando esto obtenemos los valores por defecto de useradd en la creación de usuarios: los de las variables SHELL (ruta  de la consola por defecto), HOME (ruta del directorio home por defecto), SKEL (directorio a utilizar para proporcionar los contenidos por defecto de los nuevo directorio home de los usuarios), GROUP (la ID por defecto del grupo), INACTIVE (el número máximo de días tras los que se puede cambiar la contraseña una vez haya expirado), y EXPIRE (fecha de expiración por defecto de las cuentas de los usuarios).
  • useradd -D -d /home/paco/practicas: establece la ruta /home/paco/practicas como la ruta por defecto del directorio home para todos los usuarios nuevos a partir de ese momento.
  • useradd -D -e 2015-12-31: establece la fecha indicada como la fecha de expiración de todas las cuentas creadas a partir de ese momento.
  • useradd -D -f 16: especifica que faltan 16 días para la desactivación de la cuenta una vez expirada la contraseña. se aplica a todos los usuarios nuevos a partir de ese momento.
  • useradd -D -g grupo1: especifica el grupo por defecto de los usuarios nuevos a partir de ese momento.
  • useradd -D -s /bin/Bashespecifica que la shell por defecto de los usuarios nuevos será Bash a partir de ese momento.
  • useradd -p `echo 1234 | openssl passwd -crypt -stdin `pepe: crea el usuario pepe con la contraseña de acceso 1234. El comando encripta la contraseña y la redirige al parámetro -p de useradd. No obstante, lo adecuado es crear la contraseña después de creado el usuario, usando el comando passwd.
Para terminar, observemos un ejemplo práctico de creación de usuario con la consiguiente explicación de cada parámetro:

useradd -mNr -s /bin/bash -g casa -c "José Luis Pérez" pepelu

Explicación:

useradd (añade usuario) -m (crea el directorio home por defecto del nuevo usuario) -N (no crea el directorio con el mismo nombre que el nuevo usuario) -r (califica al nuevo usuario como de sistema) -s bin/bash (establece la shell bash como consola por defecto del nuevo usuario) -g casa (establece que el nuevo usuario pasa a formar parte del grupo casa, ya existente) -c "José Luis Pérez" (añade ese comentario descriptivo al campo GECOS) pepelu (nombre del nuevo usuario).

Creo que para ser un solo comando no está nada mal. Hay más opciones y solo tienen que utilizar las herramientas de consulta para dar con ellas. Y, bueno, no tiene mucho que ver, pero estos días he recordado esta canción de Indigo Girls llamada "Galileo", así que concluiremos el post con ella.