Automatizando la Creación de Usuarios en Linux con Scripts Bash

/bin/bash


Introducción:

En el mundo de la administración de sistemas Linux, la automatización de tareas es esencial para mejorar la eficiencia y reducir posibles errores humanos. Uno de los escenarios comunes es la creación masiva de usuarios, y en este artículo, exploraremos un ejemplo práctico de cómo automatizar este proceso utilizando scripts Bash.

Creando la Lista de Usuarios:

En este enfoque, asumimos que tenemos una lista de usuarios en un archivo llamado usuarios.txt, donde cada línea contiene el nombre de un usuario. Esto nos proporciona una base para el proceso de creación automática.

usuarios.txt:
usuario1
usuario2
usuario3

Script Principal:

El script principal (crear_usuarios.sh) solicitará el nombre del archivo de usuarios y utilizará un bucle para crear cada usuario en la lista.

#!/bin/bash

echo -n "Nombre del fichero de usuarios: "
read LISTADO

# Verificar si el archivo existe
if [ ! -f "$LISTADO" ]; then
    echo "El archivo de usuarios no existe."
    exit 1
fi

# Leer el archivo línea por línea
while IFS= read -r USUARIO; do
    echo "Creando usuario $USUARIO"

    # Suponiendo que nuevo_usuario_05.sh está en el mismo directorio
    ./nuevo_usuario.sh "$USUARIO" "P@ssw0rd"

    # Agregar manejo de errores si es necesario para el comando anterior
    # Por ejemplo: if [ $? -ne 0 ]; then
    #                echo "Error al crear el usuario $USUARIO"
    #              fi

done < "$LISTADO"

Script de Creación de Usuarios (nuevo_usuario.sh):

Este script se encarga de verificar si el usuario ya existe y, en caso contrario, crea el usuario y establece su contraseña.

#!/bin/bash

if [ $# -eq 2 ] ; then 

    grep -q $1 /etc/passwd
    if [ $? -eq 0 ] ; then
        echo "Este usuario ya existe"
    else
        useradd $1 -m -d /home/$1 -s /bin/bash
        passwd $1 << EOF
        $2
        $2
        EOF
        passwd $1 -e 
    fi
else 
    echo "No me has pasado 2 argumentos"
fi

Cómo Utilizarlos:

  1. Asegúrate de que ambos scripts tengan permisos de ejecución: chmod +x crear_usuarios.sh nuevo_usuario.sh.
  2. Ejecuta ./crear_usuarios.sh.
  3. Ingresa el nombre del archivo de usuarios cuando se solicite.
  4. Observa cómo se crean automáticamente los usuarios especificados en el archivo.

Este ejemplo ofrece una visión práctica de cómo la automatización con scripts Bash puede simplificar tareas repetitivas en sistemas Linux, en este caso, la creación de usuarios. Ten en cuenta que la seguridad es crucial, y las contraseñas generadas deben cumplir con políticas de seguridad establecidas en tu entorno. Además, es esencial comprender y ajustar estos scripts según las necesidades específicas de tu infraestructura.