Você está usando su não su -l
Usar su -l fornecerá ambiente como login direto e definirá a variável de ambiente mencionada por você em /etc/profile.d/filename
Tente
sudo su -l username
Estou tentando adicionar um caminho de ambiente /usr/pgsql-9.5/bin
para todos os usuários no meu sistema CentOS 7.
Eu criei um novo arquivo em /etc/profile.d/
Parece assim:
export PATH="/usr/pgsql-95/bin:$PATH"
Eu, então, reinicio o sistema e faço login usando o root.
Eu digito echo $PATH
, lista
/usr/pgsql-9.5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Então, tudo está correto para o usuário root.
Eu então digito
sudo su postgres
echo $PATH
Lista:
/sbin:/bin:/usr/sbin:/usr/bin
/usr/pgsql-9.5/bin
está faltando?
Por que o caminho não foi adicionado para o usuário postgres
?
Se eu criar um novo usuário, o caminho será adicionado corretamente $PATH
.