Comment changer de façon permanente sudo variable $PATH (Ubuntu 9.x)
Je veux ajouter un répertoire à la variable d'environnement $PATH lors de l'exécution de la commande sudo, c'est une (semi) exigence permanente, et non pas quelque chose qui doit être ajouté pour les scripts eux-mêmes. Je remarque que Django a réussi à le faire, (my $CHEMIN d'accès lors de l'exécution de la commande sudo est "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/django/django-trunk/django/bin") - alors comment se fait-il faire?
Vous devez vous connecter pour publier un commentaire.
C'est la ligne dans le fichier sudoers qui réinitialise:
Defaults env_reset
Vous pouvez contourner ce problème en ajoutant
PATH
àenv_keeps
ou en ajoutant cette ligne:Defaults env_keep = "PATH"
EDIT: meder, vous ne désactivez pas env_reset, il vous suffit de contourner le chemin de réinitialisation
Ou vous pouvez supprimer le contenu litigieux
env_reset
ligne.Encore meilleur, vous pouvez déclarer une
secure_path
qui va remplacerPATH
quand sudo est exécuté:Defaults secure_path="/bin:/usr/bin"
De cette façon, vous pouvez contrôler quels sont les répertoires à inclure dans le chemin.
Je pense que cela devrait fonctionner si vous l'enregistrez dans /root/.bashrc:
J'oublie si c'est le CHEMIN ou PYTHONPATH et si il fait les questions, c'est basé sur mon utilisateur .bashrc:
Vous pouvez définir la variable dans /etc/environment, et ensuite utiliser "sudo -i" pour exécuter le script (fonctionne sous ubuntu 10.10).