Desde que eu atualizei meu servidor do Debian 8 para 9, eu tenho um comportamento estranho com o bash. Quando eu logar via ssh, nenhum dos arquivos de perfil são carregados, recebo o seguinte aviso:
Linux myserver 4.9.0-7-amd64 #1 SMP Debian 4.9.110-1 (2018-07-05) x86_64
Last login: Mon Jul 16 22:37:12 2018 from x.x.x.x
-bash-4.4$
Executando echo $0
retorna -bash. Coloquei uma linha echo "sourcing ..."
em / etc / profile, ~ / .bashrc para ver quando eles são invocados, mas nenhuma dessas linhas é exibida. No entanto, se eu fonte esses arquivos manualmente, o texto é exibido e o arquivo é originado como deveria.
Usando strace ( encontrado aqui ) para ver quais arquivos estavam abertos, vejo que todos os arquivos de perfis estavam abertos.
echo exit | strace bash -li |& less | grep '^open'
Eu recebo a seguinte saída:
...
open("/etc/profile", O_RDONLY) = 3
open("/etc/bash.bashrc", O_RDONLY) = 3
open("/etc/profile.d/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/etc/profile.d/bash_completion.sh", O_RDONLY) = 3
...
open("/home/myuser/.bash_profile", O_RDONLY) = 3
open("/home/myuser/.bash_history", O_RDONLY) = 3
open("/home/myuser/.bash_history", O_RDONLY) = 3
...
open("/home/myuser/.bash_logout", O_RDONLY) = 3
open("/etc/bash.bash_logout", O_RDONLY) = -1 ENOENT (No such file or directory)
...
O problema só ocorre quando eu faço login como um usuário normal, uma vez que su to root, os arquivos de perfil são carregados como deveriam. Eu suspeito que talvez apenas o root agora tenha permissão para invocar os arquivos, mas estou ficando louco, já que tudo que eu verifiquei é como deveria ser.
Qualquer sugestão ou ideia é muito apreciada.