PS1 personalizada habilitada después de usar sudo su

PS1 personalizada habilitada después de usar sudo su

Configuré un script en mi cuenta no root .bash_profile en mi máquina centos Linux para cambiar mi PS1 después de sudo su, pero debido a que sudo su en realidad es para crear una nueva sesión, el script, por supuesto, se detiene y mi PS1 permanece igual a pesar de que mi .bash_profile dice que lo cambiemos, no hay nada de malo aquí, pero ¿hay algún método para ejecutar un comando (en mi caso, cambiar mi PS1) después de sudo su? Intenté poner el script también en .bashrc y lo mismo.

Respuesta1

En mi opinión, se apila sudoy sucrea un desastre.

Para mí, la forma más confiable de crear el entorno correcto para root, que incluye la configuración de la RUTA correcta y otras configuraciones de los archivos relevantes /root/essudo -i

Por favor lea las páginas del manual.man suyman sudoporque hay muchas sutilezas con PATH y otras variables de sesión y entorno que se cambian o no de forma predeterminada o mediante interruptores específicos.

Tenga en cuenta la diferencia entre su -y su, por ejemplo, el hecho de que normalmente sudo está configurado /etc/sudoerspara suprimir ciertas variables de entorno...

Esta mesa(y el artículo completo) ofrece algunas diferencias de lo que a primera vista parecen ser comandos similares:

                                     corrupted by user's 
        HOME=/root  uses root's PATH     env vars
sudo -i     Y       Y[2]                 N
sudo -s     N       Y[2]                 Y
sudo bash   N       Y[2]                 Y
sudo su     Y       N[1]                 Y


[1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    probably set by /etc/environment
[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

información relacionada