Personalizado PS1 ativado depois de usar o sudo su

0

Eu coloquei um script na minha conta não raiz .bash_profile na minha máquina centos linux para mudar meu PS1 depois do sudo su, mas porque o sudo su na verdade faz uma nova sessão o script, claro, pára e meu PS1 permanece o mesmo apesar do fato meu .bash_profile está dizendo para alterá-lo, nada de errado aqui, mas existe algum método para executar um comando (no meu caso, para alterar o meu PS1) depois de sudo su? Eu tentei colocar o script também em .bashrc e mesmo.

    
por Johnny 01.06.2018 / 12:59

1 resposta

2

O empilhamento de sudo e su é uma bagunça na minha opinião.

Para mim, a maneira mais confiável de criar o ambiente correto para o root, que inclui a configuração do PATH correto e outras configurações dos arquivos relevantes de /root/ é sudo -i

Por favor, leia as páginas de manual man su e man sudo porque há muitas sutilezas com o PATH e outras variáveis de ambiente e de sessão sendo alteradas ou não como padrão ou por switches específicos.

Por favor, note a diferença entre su - e su e, por exemplo, o fato de que normalmente o sudo é configurado em /etc/sudoers para suprimir certas variáveis de ambiente ...

Esta tabela (e todo o artigo) dá algumas diferenças do que à primeira vista parece ser semelhante comandos:

                                     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
    
por 01.06.2018 / 15:54

Tags