我想在运行sudo时添加一些目录到$PATH,这是一个(半)永久的要求,而不是需要添加到脚本本身的东西。我注意到Django已经成功做到了,(我在运行sudo时的$PATH是"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/django/django-trunk/django/bin") --那么它是怎么做到的呢?
发布于 2013-05-05 10:05:34
以下是sudoers文件中重置以下内容的行:
Defaults env_reset
您可以通过向env_keeps添加PATH或添加以下行来解决此问题:
Defaults env_keep = "PATH"
编辑: meder,您不能禁用env_reset,您只需绕过路径重置
或者,您可以删除有问题的env_reset行。
不过,更好的是,您可以声明一个在运行sudo时将取代PATH的secure_path:
Defaults secure_path="/bin:/usr/bin"
这样,您就可以控制在路径中包含哪些特定目录。
发布于 2009-10-04 22:35:14
我认为如果您将其保存在/root/.bashrc中,应该可以解决这个问题:
export PATH=/www/foo:$PATH我忘记了它是PATH还是PYTHONPATH,如果它真的很重要,这是基于我用户的.bashrc:
export PYTHONPATH=/www/django:$PYTHONPATH发布于 2011-09-05 19:39:57
您可以在/etc/environment中设置变量,然后使用"sudo -i“来运行脚本(适用于ubuntu10.10)。
https://stackoverflow.com/questions/1517573
复制相似问题