O .bashrc do root não está executando no sudo -i

11

Em um dos meus servidores Ubuntu 11.10, quando eu uso sudo -ipara me tornar o usuário root, o .bashrc do root não está sendo executado. Em todos os outros servidores, cujas configurações relevantes são idênticas, tanto quanto eu sei, ele está sendo executado corretamente.

Aqui está o que eu verifiquei:

  • .bashrc existe em / root, de propriedade de root: root, permissões 644
  • / etc / profile e /etc/bash.bashrc estão sendo executados
  • o shell do root está definido como "/ bin / bash"
  • Eu posso executar .bashrc com source .bashrc, após o qual tudo é normal para essa sessão.
  • Também posso digitar bashpara executar o bash manualmente depois de ter feito o root, e o .bashrc é executado
  • O ps confirma que o shell em execução para o meu login raiz é bash.

Mais alguma coisa para verificar?

Mike Scott
fonte

Respostas:

10

Você deve observar a presença e o conteúdo do arquivo /root/.profile.

O arquivo init ~/.bashrcnão é originado nas conchas de login: no Ubuntu, é originado em~/.profile

Além disso, o arquivo /root/.profilenão é copiado /etc/skel/como para outros usuários, mas sim /usr/share/base-files/dot.profiledurante a instalação do pacote base-files.

enzotib
fonte
3

Há uma situação adicional que você deve ter em mente, o que aconteceu no meu caso.

Se você criar um .bash_profilearquivo, esse arquivo assumirá a responsabilidade de carregar / executar .bashrcou .profile.

Quando você abre o terminal e usa, "sudo -i"e de repente faltam alguns aliases de comando, cores da lista de arquivos etc., verifique novamente se esse arquivo está presente no diretório inicial, renomeie-o e reabra o console novamente. Isso deve corrigi-lo.

Pawel Barcik
fonte