不管我尝试了什么,在我使用sudo运行命令之后,似乎没有保留LD_LIBRARY_PATH环境变量。唯一的方法是,每当我从命令行调用sudo
命令时,都用LD_LIBRARY_PATH=/the/path
作为它的前缀,但是我不想每次都这样做。
env_keep选项似乎忽略了这个变量,exempt_group选项也是如此。
My %group目前在sudoers中将ALL=(ALL) NOPASSWD:ALL
作为其访问权限。我希望为我运行的任何命令保留这个特定的环境变量。
我该怎么做?
我的服务器正在运行5.7。
发布于 2012-03-21 17:14:56
为了让它发挥作用,我不得不这样做:
Defaults env_keep += "LD_LIBRARY_PATH"
添加到sudoersalias sudo='sudo LD_LIBRARY_PATH=/mypath'
现在,我使用sudo调用的任何命令都将设置变量。
发布于 2012-03-20 16:45:02
听起来你还没做过export LD_LIBRARY_PATH
呢。这样做将使环境变量对所有事物都可用,并解决您所面临的问题。
或者,如果您想要一个确定性持久环境变量,请考虑将其附加到您的bashrc
(~/.bashrc
)文件中,然后打开一个新的终端会话。
https://serverfault.com/questions/371630
复制相似问题