fbpx Perfil en Linux: .bashrc, .bash_profile y /etc/profile | Certificação Linux

Perfiles en Linux: .bashrc, .bash_profile, .profile y /etc/profile

📅 09/12/2021 ⏱ 4 min ✍️ Uira Ribeiro
Linuxcomandos
Perfiles en Linux: .bashrc, .bash_profile, .profile y /etc/profile
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

Ajustando el Ambiente de Trabajo de los Usuarios en Linux

Durante el proceso de inicio de sesión de un usuario, cuando el shell bash se inicia, este ejecuta el script /etc/profile. Este script puede ser personalizado y diferente en cada distribución Linux. Su función es configurar algunas variables de entorno y hacer la puesta a punto del sistema para los usuarios.

Para ajustar el Perfil de Usuarios en Linux, bash lee la configuración de diversos archivos. El contenido de estos archivos puede variar en cada distribución, y no siempre una distribución usa todos ellos, pero la idea general permanece.

Bash también busca el archivo /etc/bash.bashrc que también tiene una función similar al profile, pero bashrc se ejecuta cada vez que bash se ejecuta.

Cada usuario también puede crear sus scripts de inicio para ser ejecutados durante el inicio de sesión. Estos archivos deben estar ubicados en el directorio home de los usuarios con los nombres:

  • .profile
  • .bash_profile
  • .bash_login
  • .bashrc
  • .bash_logout

El punto "." antes del nombre del archivo le confiere el atributo de oculto, siendo listado únicamente con el comando "ls –lga".

Archivos de Perfil de Bash

Bash permite que las funciones, variables y alias puedan ser guardados en algunos archivos para que puedan ser cargados nuevamente cuando el sistema sea iniciado nuevamente, o una nueva ejecución de bash sea hecha.

Los archivos leídos por bash son:

/etc/profile

Archivo global de configuración de Perfil de todos los usuarios. Define variables globales y es ejecutado durante el proceso de autenticación del usuario. Este script también suele cargar con el comando source los archivos contenidos en el directorio /etc/profile.d.

/etc/profile.d

Este directorio contiene uno o más scripts que son cargados por /etc/profile.

$ ls -l /etc/profile.d-rw-r--r-- 1 root root 1606 jul 31  2018 colorls.sh-rw-r--r-- 1 root root 2703 ago  2  2018 lang.sh-rw-r--r-- 1 root root  121 jul 31  2018 less.sh-rw-r--r-- 1 root root  248 jul 17 14:46 vim.sh

/etc/bashrc o /etc/bash.bashrc

Archivo global de configuración de Perfil, que define variables importantes y es ejecutado cada vez que Bash es cargado. En algunas distribuciones aparece con el nombre /etc/bashrc y en otras como /etc/bash.bashrc.

~/.bash_profile

Archivo de Perfil individual de cada usuario que es ejecutado inmediatamente después de /etc/profile. Su contenido es leído en cada ejecución de Bash y cada usuario tiene el suyo en el directorio HOME.

~/.bash_login

Si el archivo ~/.bash_profile no existe, este es ejecutado inmediatamente después del proceso de inicio de sesión. Cada usuario tiene el suyo;

~/.profile

Si los archivos .bash_profile y .bash_login no existen, este es ejecutado inmediatamente después del inicio de sesión. Cada usuario tiene el suyo;

~/.bashrc

Es ejecutado automáticamente cuando el proceso Bash es iniciado. Cada usuario tiene el suyo;

~/.bash_logout

Es ejecutado durante el proceso de cierre de sesión;

Recordando que el  "~/" indica el directorio HOME del usuario conectado. 

Conviene que observes estos archivos y analices su contenido. Cada distribución puede; variar el contenido de estos scripts. Puedes notar que un script llama al otro.

Es muy importante saber la función y cuándo cada archivo es ejecutado. De manera general, recuerda que:

  • Los archivos que están en el directorio /etc son globales, y aplican para todos los usuarios;
  • Los archivos que están en el directorio HOME, son individuales para cada usuario;
  • Los archivos que tienen profile en el nombre, son cargados en el proceso de inicio de sesión, una única vez;
  • Los archivos que tienen bash en el nombre son cargados cada vez que Bash es ejecutado.

 Otro detalle importante es que estos archivos son leídos y ejecutados en el orden descrito arriba: primero los Profiles, después los Bash. No todas las distribuciones hacen uso de todos estos archivos.

La figura a continuación ilustra el orden del proceso de carga de estos scripts:

Orden de lectura de los Scripts de Inicio de Sesión

Observa que los nodos en amarillo son scripts globales, que aplican para todos los usuarios. El script ~/.bashrc es cargado cada vez que Bash es ejecutado. Y el script ~/.bash_logout cada vez que Bash termina.

Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente inicia sesión o crea tu usuario aquí.

¿Te gustó? Comparte

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp