#1 Le 18/06/2012, à 15:08
- Fredoo1234
Sudo et variable d'environnement.
Bonjour à tous,
Tous les scripts que je développe sont stockés dans un endroit précis sur mon disque dur. Pour rendre accessible de n'importe où l'utilisation de mes scripts j'ai mis le chemin adéquat dans la variable PATH à partir du fichier .bashrc.
Cela marche très bien ! Le problème est que le chemin n'est pas prit en compte lorsque j'utilise sudo.
$ env | grep "PATH"
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/media/donnees/MATERIEL/scripts/linux
sudo env | grep "PATH"
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
J'ai lu sur différent Forum que l'option -i résoud le problème, mais cela ne fonctionne pas chez moi ... --'
Est-ce que quelqu'un aurait une astuce pour ce petit problème ?
Merci d'avance !
Hors ligne
#2 Le 18/06/2012, à 16:26
- Pylades
Re : Sudo et variable d'environnement.
Bonjour.
Dans ton fichier /etc/sudoers, tu dois avoir la lignetdoc suivante :
Defaults env_reset
Il te suffit de la commenter :
#Defaults env_reset
Pour éditer ce fichier, il est fortement recommandé de juste taper visudo, pour éviter les erreurs de syntaxes.
sudoers
Dernière modification par Πυλάδης (Le 18/06/2012, à 16:28)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#3 Le 18/06/2012, à 17:49
- Fredoo1234
Re : Sudo et variable d'environnement.
Merci pour ta réponse.
Dans ton fichier /etc/sudoers, tu dois avoir la lignetdoc suivante :
Defaults env_reset
Il te suffit de la commenter :
#Defaults env_reset
Pour éditer ce fichier, il est fortement recommandé de juste taper visudo, pour éviter les erreurs de syntaxes.
Cela ne fonctionne pas. Le terminal trouve bien le script en question mais il me renvoi "commande introuvable".
EDIT:
J'ai commenté cette ligne dans /etc/sudoers:
#Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Et maintenant ça fonctionne correctement. Merci beaucoup de m'avoir mis sur la bonne direction.
Dernière modification par Fredoo1234 (Le 18/06/2012, à 17:51)
Hors ligne
#4 Le 19/06/2012, à 06:19
- serged
Re : Sudo et variable d'environnement.
... Et si tu veux garder les alias pour sudo. Un petit :
alias sudo='A=`alias` sudo '
dans le .bashrc
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#5 Le 19/06/2012, à 06:44
- nesthib
Re : Sudo et variable d'environnement.
@serged : ton astuce est partiellement correcte. Le A=`alias` ne sert à rien puisque par défaut ton environnement est (partiellement) conservé. En fait ce qui est important est l'espace en fin d'alias qui entraîne l'interprétation d'un éventuel alias à suivre (cf. man bash section Aliases)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne