PATH env var declarado em / etc / environment não herdado?

0

Trabalhando em Ubuntu 16.04.05 .

De acordo com o debian oficial e ubuntu , as variáveis declaradas devem ser herdadas por todos os usuários;

Então, como é explicado o seguinte:

root@pkara-pc01:~# cat /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
root@pkara-pc01:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

(ou seja, os caminhos em /etc/environment não terminam em root PATH ), dado que nenhuma substituição PATH explícita parece ocorrer em:

a) /root/.profile

root@pkara-pc01:~# grep -i path /root/.profile
root@pkara-pc01:~# 

b) /root/.bashrc

root@pkara-pc01:~# grep -i path /root/.bashrc
root@pkara-pc01:~# 

c) /etc/profile

root@pkara-pc01:~# grep -i path /etc/profile
root@pkara-pc01:~# 

d) em /etc/profile.d/ há apenas uma expansão PATH para representar /snap/bin

root@pkara-pc01:~# grep -rniI -A 1 path /etc/profile.d/
/etc/profile.d/apps-bin-path.sh:3:# Expand $PATH to include the directory where snappy applications go.
/etc/profile.d/apps-bin-path.sh:4:if [ "${PATH#*/snap/bin}" = "${PATH}" ]; then
/etc/profile.d/apps-bin-path.sh:5:    export PATH=$PATH:/snap/bin
/etc/profile.d/apps-bin-path.sh-6-fi

Atualizar :

Sobre relação a esta questão como apontado por @Kusalandra,

$ su -
Password: 
root@pkara-pc01:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
root@pkara-pc01:~# exit
logout
/home/pkara/Workspace/gitlab/sonar-scanner
$ sudo -i
root@pkara-pc01:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
root@pkara-pc01:~# 

No entanto:

root@pkara-pc01:~# grep -i secure_path /etc/sudoers
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

Portanto, parece que o secure_path é aplicado em ambos su e sudo casos? (que não é não o que o problema relacionado indica).

    
por pkaramol 24.08.2018 / 14:18

1 resposta

2

Os caminhos padrão vêm de /etc/login.defs , que contém (pelo menos no Debian, eu suspeito que seja o mesmo no Ubuntu):

#
# *REQUIRED*  The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Isso é mencionado na parte inferior de a página wiki do Debian à qual você está vinculada, no contexto de su .

    
por 24.08.2018 / 15:08