Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ou` sudo trouve-t-il son PATH ?

2 réponses
Avatar
Nicolas Richard
Bonjour,

Quand j'execute sudo, il utilise une valeur de la variable PATH dont je
ne parviens pas =C3=A0 d=C3=A9terminer l'origine. Ci-dessous, la sortie de
quelques commandes qui me semblaient pertinentes... mais sans succ=C3=A8s.

La question =C3=A0 laquelle je cherche r=C3=A9ponse est : d'o=C3=B9 sort la=
r=C3=A9f=C3=A9rence
au chemin /usr/local/texlive/*2011*/bin/i386-linux qui apparait dans la
sortie du premier appel =C3=A0 sudo ? (2e commande lanc=C3=A9e ci-dessous)


# v=C3=A9rif du PATH actuel
$ env | grep ^PATH
PATH=3D~/bin/overrideglobal:~/bin/overrideglobal:/usr/local/bin:/usr/bin:/b=
in:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.5.4:/usr/games/bin:/usr/local/=
texlive/2012/bin/i386-linux:~/bin:~/bin

$ sudo env | grep ^PATH
PATH=3D/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bi=
n:/usr/local/texlive/2011/bin/i386-linux

$ sudo -i env | grep ^PATH
PATH=3D/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bi=
n:/usr/i686-pc-linux-gnu/gcc-bin/4.5.4:/usr/local/texlive/2012/bin/i386-lin=
ux:/root/bin

# je tente de comprendre
$ sudo grep -r texlive/2011 /etc

# mais je comprends pas.
$ sudo grep -r texlive/2011 ~root
/root/.bash_history:grep texlive/2011 * -r
/root/.bash_history:grep texlive/2011 . -r
/root/.bash_history:grep texlive/2011 .* -r

# Contenu de deux fichiers, modulo commentaires et lignes blanches :
$ grep -v '^#\|^$' /etc/environment=20

$ grep -v '^#\|^$' /etc/security/pam_env.conf=20
PATH=3D/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bi=
n:/usr/i686-pc-linux-gnu/gcc-bin/4.5.3:/usr/local/texlive/2012/bin/i386-lin=
ux:/root/bin

Pour info, la distribution est Gentoo ; j'ai =C3=A9galement demand=C3=A9 su=
r la
mailing list gentoo
(http://permalink.gmane.org/gmane.linux.gentoo.user/260603), sans
succ=C3=A8s.

Merci d'avance pour vos pistes de r=C3=A9flexion.

--=20
Nico.

2 réponses

Avatar
Nicolas George
"Nicolas Richard" , dans le message , a écrit :
Quand j'execute sudo, il utilise une valeur de la variable PATH dont je
ne parviens pas à déterminer l'origine.



$ sudo grep -i PATH /etc/sudoers
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Avatar
Nicolas Richard
Nicolas George <nicolas$ writes:

"Nicolas Richard" , dans le message , a écr it :
Quand j'execute sudo, il utilise une valeur de la variable PATH dont je
ne parviens pas à déterminer l'origine.



$ sudo grep -i PATH /etc/sudoers
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin :/sbin:/bin"



Cela apporte au moins un élément de réponse : si je rajoute cette ligne,
cela me change effectivement le PATH. Mais je n'ai pas encore compris oà ¹
était inscrit la valeur actuelle (en tout cas, elle n'est pas dans
/etc/sudoers).

(...quelques minutes plus tard...)

AH HA !

L'incantation `sudo sudo -V' montre ceci (j'omets les passages superflus)

Configure options:
(...)
--with-secure-path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/loca l/sbin:/opt/bin:/usr/local/texlive/2011/bin/i386-linux
(...)

Cela me remplit de joie d'avoir trouvé le problème, et je me sens
humilié de n'avoir pas vu ce secure_path dans le manpage de sudoers
(d'autant que cette valeur compilée est indiquée texto dans la pa ge
man).

Bref, merci.

--
Nico.