Tutoriales

Cómo cambiar el mensaje de Bash para un grupo de usuarios específico en Linux

Hemos visto cómo Personaliza el mensaje BASH predeterminado en linux.En este tutorial aprenderemos cómo Cambiar el mensaje de Bash para un grupo de usuarios específico En sistemas Linux y tipo Unix.

Antes de configurar mensajes BASH personalizados para grupos de usuarios, es importante comprender las ventajas y desventajas de este enfoque.

Ventajas y desventajas de los caracteres del símbolo del sistema de grupo específico

El uso de caracteres del símbolo del sistema específicos de un grupo en Linux puede resultar ventajoso en algunas situaciones, pero existen algunas advertencias. Aquí están los pros y los contras:

ventaja

1. Más fácil de identificar los roles de los usuarios:

  • Al personalizar su símbolo del sistema según la membresía del grupo, puede identificar más fácilmente la función o el entorno en el que está trabajando. Por ejemplo, developer El mensaje informa inmediatamente al usuario que el Desarrollador grupo o entorno.

2. Reducir los errores:

  • Las indicaciones personalizadas pueden ayudar a reducir los errores, especialmente en entornos donde los usuarios cambian entre múltiples roles o servidores.Por ejemplo, una pista obvia. admin Se puede recordar a los usuarios los niveles más altos de permisos y alentarlos a ser cautelosos.

3. Mejorar la experiencia del usuario:

Publicaciones relacionadas
  • Para los usuarios que pertenecen a varios grupos, las indicaciones personalizadas pueden indicar de forma clara e intuitiva el grupo actual, lo que hace que la información del terminal sea más rica y humana, mejorando así la experiencia del usuario.

4. Útil en sistemas multiusuario:

  • En sistemas con muchos usuarios, este tipo de personalización puede resultar beneficioso para los administradores del sistema al ayudar a identificar rápidamente el tipo de usuario que inició sesión y su nivel de acceso.

defecto

1. Gestionar la complejidad:

  • La implementación y gestión de mensajes personalizados puede agregar complejidad, especialmente en sistemas con una gran cantidad de usuarios o grupos. Requiere secuencias de comandos y configuración adicionales.

2. Posibles errores de configuración:

  • Estos scripts pueden provocar errores de configuración si se configuran incorrectamente.Por ejemplo, agregar incorrectamente a .bashrc Errores de sintaxis que pueden provocar duplicaciones innecesarias o incluso afectar el entorno del usuario.

3. Consideraciones de seguridad:

  • Se adjunta automáticamente a los archivos de configuración, p. .bashrc Si no se maneja adecuadamente, puede haber riesgos para la seguridad. Es importante asegurarse de que dichos scripts no creen vulnerabilidades de seguridad sin darse cuenta.

4. Dependencia de la membresía en un grupo:

  • Este método se basa en la membresía del grupo del usuario, que puede cambiar con el tiempo. Requiere que las membresías de grupos se administren correctamente y estén actualizadas.

5. Dependencia excesiva de las señales visuales:

  • Los usuarios pueden confiar demasiado en estas señales visuales y hacer suposiciones incorrectas sobre sus permisos o entorno basándose únicamente en las señales, lo que puede generar errores, especialmente si las señales están configuradas incorrectamente.

Con todo, personalizar los caracteres del símbolo del sistema según la pertenencia a un grupo es útil para mejorar la experiencia del usuario y reducir los errores en entornos multiusuario o multirol. Sin embargo, requiere una implementación y gestión cuidadosas para evitar complejidad, mala configuración y posibles problemas de seguridad.

Continuaremos viendo cómo cambiar los caracteres del símbolo del sistema para un grupo de usuarios específico en sistemas Linux y similares a Unix.

Los siguientes pasos se probaron en un sistema Ubuntu 22.04 LTS. Esperamos que este método también funcione en otras distribuciones de Linux.

Cambiar el mensaje de Bash para un grupo de usuarios específico

Para fines de demostración, crearé un nuevo grupo llamado «Desarrollador» y una persona llamada ‘sentil’.Entonces agregaré ‘sentil’ Llega el usuario «Desarrollador» grupo.

Entonces, cada vez que el usuario «senthil» inicie sesión, su mensaje cambiará automáticamente a ‘Desarrollador-senthil@ubuntu2204:~$’. Veamos cómo hacer esto paso a paso.

Paso 1: crea un grupo en Linux

Crea un grupo:

Ejecute el siguiente comando para crear un nuevo grupo llamado developers:

$ sudo groupadd developers

Este comando creará un nuevo grupo llamado developers. Si se le solicita, es posible que se le solicite que ingrese su contraseña.

Paso 2: agregue usuarios y asígnelos a grupos

Crear un nuevo usuario:

Crear un nuevo usuario llamado senthilusa el comando:

$ sudo adduser senthil

Se le pedirá que establezca una contraseña para el nuevo usuario y complete cierta información de usuario opcional. Llénelos según sea necesario.

Agregar usuario al grupo:

más senthil llegar developers Grupo, uso:

$ sudo usermod -aG developers senthil

este -aG opción para agregar el usuario al grupo manteniendo su membresía existente en el grupo.

Paso 3: configurar mensajes Bash personalizados para grupos de usuarios específicos

Cuando desee cambiar los caracteres del símbolo del sistema para usuarios que son miembros de un grupo específico, tiene dos opciones sobre dónde colocar el script que verifica el grupo de usuarios y cambia el símbolo del sistema. La elección depende de si desea que los cambios se apliquen a un solo usuario o a varios usuarios:

usuario personal .bashrc documento:

  • Si desea que los cambios se apliquen solo a un usuario específico, debe agregar estas líneas a la cuenta de ese usuario. .bashrc El archivo se encuentra en su directorio de inicio (~/.bashrc).
  • Este enfoque es específico del usuario.Cada usuario al que desee aplicar este cambio deberá agregar este script a su .bashrc documento.
  • Por ejemplo, si sólo quieres senthil Hay diferentes pistas cuando él es parte de ello. developers grupo, simplemente agrega filas a senthilde .bashrc documento.

Perfil global /etc/bash.bashrc:

  • Si desea que este cambio se aplique a todos los usuarios del sistema, puede editar el archivo global /etc/bash.bashrc documento.
  • Este método aplicará los cambios al entorno de cada usuario, pero el script solo cambiará las indicaciones para los usuarios del grupo especificado.
  • Esta función es útil si hay varios usuarios en un grupo y desea que todos los usuarios tengan el mismo comportamiento sin necesidad de editar cada usuario. .bashrc documento.

antes de realizar cualquier cambio localmente ~/.bashrc o globalmente /etc/bash.bashrc archivos, le recomiendo que haga una copia de seguridad de ellos. Si algo sale mal, puedes restaurar la configuración original.

Usuario de respaldo ~/.bashrc archivo, ejecute:

$ cp ~/.bashrc ~/.bashrc_backup

Hacer una copia de seguridad de todo el dominio bashrc archivo, ejecute:

$ sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup

Después de hacer una copia de seguridad del contenido correspondiente bashrc archivo, ábrelo con tu editor favorito.

Aquí quiero aplicar este método a todos los usuarios del sistema, así que edité el global /etc/bash.bashrc documento.

$ sudo nano /etc/bash.bashrc

Agregue las siguientes líneas al final:

bashrc_file="/home/$(whoami)/.bashrc"
developer_prompt="PS1="developer-\u@\h:\w\$ ""

# Function to add or update PS1 in .bashrc
add_or_update_ps1() {
    prompt_line=$1
    grep -qF -- "$prompt_line" "$bashrc_file" || echo "$prompt_line" >> "$bashrc_file"
}

if id -nG "$(whoami)" | grep -qw "developers"; then
    add_or_update_ps1 "$developer_prompt"
fi

Analicemos el código anterior y veamos qué hace cada opción.

Definir variables:

  • bashrc_file Guardar la ruta del usuario .bashrc documento.
  • developer_prompt Almacene la cadena PS1 a la que pertenece el usuario developers grupo.

Función add_or_update_ps1:

  • Esta función toma la línea de solicitud como parámetro.
  • usa grep -qF Compruebe si la línea de solicitud exacta ya existe en .bashrc.
  • este -- Asegúrese de que las cadenas siguientes se traten como literales en lugar de opciones de comando.
  • si no existe (||), se añade la línea de aviso a .bashrc.

Verifique la membresía del grupo y solicite propinas:

  • Este script comprueba si el usuario está en developers grupo.
  • Si el usuario pertenece a developers grupo, que llama add_or_update_ps1 y developer_prompt.

En resumen, este script cambia los caracteres del símbolo del sistema que pertenecen a: developers Adjuntando una definición de alerta personalizada a su grupo .bashrc documento.se asegura Los recordatorios personalizados solo se agregan una vez para evitar duplicaciones.

de acuerdo a CTRL+O seguido por CTRL+X Guarda el archivo y cierra.

Recuerde, después de editar cualquier archivo, los cambios solo tendrán efecto al iniciar una nueva sesión de shell.El usuario puede cerrar sesión y volver a iniciarla, o ejecutar source ~/.bashrc Aplicar los cambios inmediatamente a la sesión actual.

Aplique los cambios usando el comando:

$ source /etc/bash.bashrc

Paso 4: verificar el mensaje de Bash

Ahora cierre sesión y vuelva a iniciar sesión como usuario «senthil». Abra la terminal y verá que el mensaje del usuario ha cambiado para verse así:

Cambie el mensaje de Bash para un grupo de usuarios específico en Linux

Si su sistema no tiene una GUI, puede ingresar al sistema desde otro sistema a través de SSH para su verificación.

developer-senthil@ubuntu2204:~$
Cambiar el mensaje de Bash para un grupo de usuarios específico
Cambiar el mensaje de Bash para un grupo de usuarios específico

¿mirar? Se ha cambiado el símbolo del mensaje Bash del usuario.

Cambiar el mensaje de Bash según la membresía del grupo Sudo

Puede modificar aún más este script para diferenciar entre diferentes tipos de consumidores.

Por ejemplo, se puede diferenciar entre usuarios habituales y usuarios administrativos, que pertenecen a sudo Grupos en Linux.Esto implica modificar el símbolo del sistema dependiendo de si el usuario tiene sudo privilegio.

Agregue las siguientes líneas al dominio global /etc/bash.bashrc archivos o usuarios individuales .bashrc documento:

bashrc_file="/home/$(whoami)/.bashrc"
sudo_prompt="PS1="sudouser-\u@\h:\w\$ ""
normal_prompt="PS1="normaluser-\u@\h:\w\$ ""

# Function to add or update PS1 in .bashrc
add_or_update_ps1() {
    prompt_line=$1
    grep -qF -- "$prompt_line" "$bashrc_file" || echo "$prompt_line" >> "$bashrc_file"
}

if id -nG "$(whoami)" | grep -qw "sudo"; then
    add_or_update_ps1 "$sudo_prompt"
else
    add_or_update_ps1 "$normal_prompt"
fi

El script cambiará el mensaje a sudouser-@hostname: ~$ Para usuarios en sudo fusión de grupo para normaluser-@hostname: ~$ Para usuarios que no están en sudo grupo.

La recomendación de esta configuración depende del contexto y los requisitos del sistema:

ventaja:

  • Identificación clara de roles: similar a las indicaciones específicas de un grupo, esta configuración ayuda a identificar inmediatamente si la sesión de usuario actual tiene privilegios sudo, lo cual es particularmente útil en entornos multiusuario.
  • Prevención de errores: recuerda continuamente al usuario sus permisos, lo que potencialmente evita la ejecución accidental de comandos con privilegios elevados.

defecto:

  • Complejidad y mantenimiento: Como ocurre con cualquier personalización, aumenta la complejidad de la configuración del sistema y requiere un mantenimiento adecuado.
  • Falsa sensación de seguridad: Los usuarios pueden dejarse llevar por una falsa sensación de seguridad o complacencia, creyendo que el cambio rápido refleja únicamente su privilegio. Sin embargo, los permisos reales son más sutiles y dependen del contexto.
  • Posibles errores de configuración: Si se implementa incorrectamente, puede generar confusión o mala configuración.

En resumen, personalizar los caracteres del símbolo del sistema para diferenciar entre usuarios normales y usuarios de sudo puede resultar útil en algunos entornos, especialmente donde es importante identificar rápidamente los permisos de los usuarios.

Sin embargo, esto no se recomienda universalmente ya que añade complejidad y depende de las necesidades específicas y las capacidades de gestión del administrador del sistema.

Restaurar el archivo .bashrc a la configuración predeterminada

Si tiene problemas, puede revertir los cambios mediante restauración .bashrc Archivos en copia de seguridad. Si no realizó una copia de seguridad, puede editar manualmente el archivo nuevamente y eliminar o comentar los scripts personalizados que agregó en los pasos anteriores.

Además, hay una versión preestablecida. .bashrc El archivo esta en /etc/skel/ Directorio en sistemas Debian y Ubuntu.

$ ls -al /etc/skel/
total 32
drwxr-xr-x   2 root root  4096 Jan  8 18:02 .
drwxr-xr-x 138 root root 12288 Jan  8 17:55 ..
-rw-r--r--   1 root root   220 Jan  6  2022 .bash_logout
-rw-r--r--   1 root root  4116 Jan  8 18:00 .bashrc
-rw-r--r--   1 root root   807 Jan  6  2022 .profile

Copiar la versión predeterminada ~/.bashrc archivo a su versión actual de la siguiente manera:

$ cp /etc/skel/.bashrc ~/

Finalmente, ejecute el siguiente comando para actualizar los cambios.

$ source ~/.bashrc

Para obtener más detalles, consulte los siguientes enlaces:

Cómo restaurar el archivo .bashrc a la configuración predeterminada en Ubuntu

en conclusión

En este tutorial, analizamos cómo configurar un símbolo del sistema bash personalizado para un grupo específico de usuarios, así como las ventajas y desventajas de cambiar los caracteres del símbolo del sistema en Linux a través de un script de muestra.

Aunque modificar los caracteres del mensaje de bash puede ser útil para necesidades específicas en algunos entornos, generalmente no se recomienda para principiantes.

Antes de implementar estos cambios, siempre es una buena práctica probar este enfoque en una máquina virtual y sopesar los beneficios frente a los riesgos y la complejidad potenciales.

Lectura relacionada:

LEER  Controle otras PC enviando un solo enlace

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba