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."
fiGestió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