9 votes

Certains programmes ne sont pas trouvés lorsqu'ils sont utilisés avec sudo

Je viens d'installer Allez sur a /usr/local/go et dans ~/.bashrc a ajouté cette ligne :

export PATH=$PATH:/usr/local/go/bin

Maintenant go fonctionne à partir de la ligne de commande, mais sudo go me donne :

$ sudo go
sudo: go: command not found
~
$ sudo echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/benjamin/algs4/bin:/usr/local/go/bin

7voto

Dmitry Alexeyev Points 186

sudo Le commandement a env_keep y env_reset paramètres dans sudoers fichier.

Vous devez soit modifier votre paramètre env_keep soit utiliser sudo -E .

3voto

AntumDeluge Points 166

Modifiez le fichier /etc/sudoers. Ajoutez les chemins souhaités à la ligne suivante :

Valeurs par défaut secure_path = /sbin:/bin:/usr/sbin:/usr/bin

exemple :

Valeurs par défaut secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

0voto

kenorb Points 8840

Vérifiez si vous avez mis en place une politique de sécurité pour votre PATH en utilisant la commande suivante :

$ sudo sudo -V | grep PATH
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Si c'est le cas, désactivez-le ou ajoutez-le à cet endroit en sudo visudo .

Voir : Pourquoi les variables PATH sont-elles différentes lors d'une exécution via sudo et su ? chez Unix SE

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X