Automatización de Scripts en Bash: Búsqueda de Texto y Gestión de Usuarios

Clasificado en Informática

Escrito el en español con un tamaño de 2,46 KB

Búsqueda de cadenas en archivos

El siguiente script permite verificar la existencia de una cadena específica dentro de un archivo determinado:

# Comprobar el número de argumentos
if [ "$#" -ne 2 ]; then
    echo "Error: Se requieren exactamente 2 argumentos"
    exit 1
fi

# Asignar argumentos a variables
archivo="$1"
cadena="$2"

# Comprobar si el archivo existe y no está vacío
if [ -e "$archivo" ] && [ -s "$archivo" ]; then
    # Buscar la cadena en el archivo
    if grep -q "$cadena" "$archivo"; then
        echo "La cadena \"$cadena\" se encontró en el archivo \"$archivo\"."
    else
        echo "Error: La cadena \"$cadena\" no se encontró en el archivo \"$archivo\"."
    fi
else
    echo "Error: El archivo \"$archivo\" no existe o está vacío."
fi

Gestión automatizada de usuarios y grupos

Este script facilita la creación de grupos y usuarios, asegurando que no existan duplicados y gestionando la asignación de permisos:

# Verificar que se recibieron exactamente 3 argumentos
if [ "$#" -ne 3 ]; then
    echo "Error: Se requieren exactamente 3 argumentos: <nombre_grupo> <nombre_usuario> <login_usuario>"
    exit 1
fi

# Asignar argumentos a variables
nombre_grupo="$1"
nombre_usuario="$2"
login_usuario="$3"

# Comprobar si el grupo ya existe
if getent group "$nombre_grupo" > /dev/null; then
    echo "Error: El grupo \"$nombre_grupo\" ya existe."
    exit 1
else
    # Crear el grupo
    if groupadd "$nombre_grupo"; then
        echo "Grupo \"$nombre_grupo\" creado correctamente."
    else
        echo "Error: No se pudo crear el grupo \"$nombre_grupo\"."
        exit 1
    fi
fi

# Comprobar si el usuario ya existe
if id "$nombre_usuario" > /dev/null 2>&1; then
    echo "El usuario \"$nombre_usuario\" ya existe."
else
    # Crear el usuario con el login proporcionado
    if useradd -m -c "$login_usuario" -g "$nombre_grupo" "$nombre_usuario"; then
        echo "Usuario \"$nombre_usuario\" creado correctamente y asignado al grupo \"$nombre_grupo\"."
        exit 0
    else
        echo "Error: No se pudo crear el usuario \"$nombre_usuario\"."
        exit 1
    fi
fi

# Si el usuario ya existe, agregarlo al grupo
if usermod -a -G "$nombre_grupo" "$nombre_usuario"; then
    echo "Usuario \"$nombre_usuario\" añadido al grupo \"$nombre_grupo\"."
else
    echo "Error: No se pudo añadir el usuario \"$nombre_usuario\" al grupo \"$nombre_grupo\"."
    exit 1
fi

Entradas relacionadas: