
Eu configurei um script em minha conta não root .bash_profile em minha máquina centos linux para alterar meu PS1 após sudo su, mas como sudo su é na verdade uma nova sessão, o script é claro para e meu PS1 permanece o mesmo, apesar do fato de 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 meu PS1) após sudo su? Tentei colocar o script também em .bashrc e mesmo.
Responder1
Empilhamento sudo
e su
faz uma bagunça na minha opinião.
Para mim, a maneira mais confiável de criar o ambiente correto para root, que inclui a configuração do PATH correto e outras configurações dos arquivos relevantes, /root/
ésudo -i
Por favor, leia as páginas do manualman su
eman sudo
porque há muitas sutilezas com PATH e outras variáveis de sessão e ambiente sendo alteradas ou não como padrão ou por opções específicas.
Observe a diferença entre su -
e su
e, por exemplo, o fato de que normalmente o sudo é configurado /etc/sudoers
para suprimir certas variáveis de ambiente ...
Essa mesa(e todo o artigo) apresenta algumas diferenças do que à primeira vista parecem ser comandos semelhantes:
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