Disparadores Linux: Perfil de usuario

Linux Nivel Medio 27 de jun. de 2026

En el mundo de Linux, el concepto de "disparador" cambia de nombre según el contexto.
Para eventos de hardware usamos udev, pero para eventos de sesión (como el inicio de sesión de un usuario), el sistema utiliza otros mecanismos muy potentes.

Dependiendo de si el usuario inicia sesión por consola/SSH o mediante un entorno gráfico, tenemos diferentes opciones.

El disparador universal: Scripts de Perfil
(/etc/bash.bashrc y /etc/profile.d)

Si quieres que un script se ejecute siempre que cualquier usuario inicie sesión (ya sea por SSH, terminal o interfaz gráfica), el lugar ideal son los archivos de configuración global del shell.

  • /etc/profile.d/ (Recomendado): En lugar de modificar archivos del sistema, puedes meter un script terminado en .sh dentro de esta carpeta. Linux lo ejecutará automáticamente en cada login.
  • /etc/bash.bashrc: En este ficheros podemos definir tambien para todos los usuarios varias cosas como: funciones de shell, alias globales, personalizar el prompt para todos los usuarios, etc.

Ejemplo de uso en /etc/profile.d

  1. Creamos un script en ese directorio /etc/profile.d/bienvenida.sh
  2. Añade lo que quieras que haga (por ejemplo, enviar un correo, un log, o mostrar un mensaje):
#!/bin/bash
# Esto se ejecuta al hacer login
echo "¡Hola $USER! Iniciaste sesión el $(date)" >> /var/log/logins_usuarios.log

Le damos permisos de ejecución:

chmod +x /etc/profile.d/bienvenida.sh

Ejecución para un usuario

Si necesitamos que la ejecución se realice sólo para un usuario el lugar para ello es el fichero .bashrc ubicado en el home del usuario. Además tenemos el fichero .profile que nos permite incluir configuraciones particulares para el usuario.

Ambos ficheros tienen propósitos distintos y se complementan:

  • .bashrc se usa para personalizar por ejemplo el entorno de terminal interactivo (alias, colores, prompt), o incluir "funciones" en la shell.
  • .profile para definir variables de entorno (como tu variable PATH) que afectan a todo tu sistema y se cargan una sola vez al iniciar sesión.

En las distribuciones basadas en Debian, es una buena práctica incluir al final del .profile un bloque que lea automáticamente el .bashrc para tenger todos los alias listos también al iniciar sesión .

Si no quieres que el usuario no modifique estos ficheros, deberas quitar los permisos de escritura para el usuario, pero permitir su lectura y ejecución o incluso otra opción mejor es hacer que el fichero sea "inmutable".

Para ello puedes ejecutar como root el siguiente comando para bloquear la edición de ese fichero:

sudo chattr +i /home/nombre_usuario/.bashrc

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux