Je veux ajouter un répertoire au $ PATH lors de l'exécution de sudo, ceci est une exigence (semi) permanente, pas quelque chose qui doit être ajouté aux scripts eux-mêmes . Je remarque que Django a réussi à le faire, (mon $ PATH lors de l'exécution de sudo est "/ usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/django/django-trunk/django/bin ") - alors comment ça s'est fait?
Répondre
Je pense que cela devrait fonctionner si vous enregistrer dans /root/.bashrc:
export PATH=/www/foo:$PATH
J'oublie si c'est PATH ou PYTHONPATH et si elle compte en fait, cela est basé sur le .bashrc de mon utilisateur:
export PYTHONPATH=/www/django:$PYTHONPATH
Vous pouvez définir la variable dans/etc/environnement, puis utilisez la commande "sudo -i" pour exécuter le script (travaux dans ubuntu 10.10).
Ceci est la ligne dans le fichier sudoers qui remet à zéro:
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, vous contournez simplement la réinitialisation du chemin
Ou vous pouvez supprimer la ligne env_reset
incriminée.
Mieux encore cependant, vous pouvez déclarer une secure_path
qui remplacera PATH
lorsque sudo est exécuté:
Defaults secure_path="/bin:/usr/bin"
De cette façon, vous pouvez contrôler les répertoires spécifiques à inclure dans le chemin.
- 1. sudo utilisant PATH avant le fichier exécutable complet
- 2. libxml2-p25 sur OS X 10.5 a besoin de sudo?
- 3. Définition d'un problème de variable d'environnement Java sur Ubuntu
- 4. Comment changer/remplacer la variable 'aspxerrorpath'?
- 5. Comment puis-je définir la variable Windows PATH à partir de Perl?
- 6. Comment changer la variable de classe en Javascript?
- 7. Bash - $ PATH et $ {PATH}
- 8. OS X exécuter rsync sous sudo en utilisant ssh_config
- 9. OS X Problèmes d'installation de Ruby on Rails PATH
- 10. Solution Visual Studio variable d'environnement Path
- 11. Comment puis-je exclure la propriété Path de l'indexation?
- 12. Capistrano est suspendu lorsque je demande un mot de passe SUDO à une boîte Ubuntu
- 13. Manière sûre de changer la priorité d'un NSOperation
- 14. Le stockage isolé Silverlight est-il traité de manière permanente ou en tant que cache?
- 15. Comment changer le focus dans X-Windows?
- 16. Comment puis-je extraire un chemin complet à partir de la variable d'environnement PATH?
- 17. Comment puis-je environnement sudo?
- 18. Chargement de maillage à partir du fichier X avec Direct X 9 en C++
- 19. La variable mutable 'i' est utilisée de manière invalide.
- 20. Ajouter une bibliothèque de manière permanente pour tous les futurs projets
- 21. Comment changer l'exécutable dans un ensemble d'applications OS X
- 22. Comment changer la eregi de PHP preg_match
- 23. Dans Dynamics AX, X ++, comment incrémenter une variable de date
- 24. Puis-je définir l'adaptateur de base de données à utiliser de manière permanente à partir d'une classe Zend_Db_Table_Abstract?
- 25. Manière plus efficace de tracer des points de l'axe x?
- 26. Quelle est la manière la plus simple de changer l'image de l'onglet sélectionné dans ASP.NET MVC?
- 27. Modifications dynamiques de la taille de la pile de threads dans Solaris 9?
- 28. Comment désinstaller MySQL de Mac OS X?
- 29. Réplication de la fonctionnalité 9 tranches dans WPF
- 30. Utilisation de la connexion log4j dans weblogic 9/10
Merci, meder, cela a fait l'affaire. –
Pas de problème. Ne pas oublier de sélectionner une réponse pour que les autres puissent savoir qu'elle a été résolue :) –
+1 pour avoir résolu le problème de l'OP. –