sudo – 如何指定root的环境变量?

前端之家收集整理的这篇文章主要介绍了sudo – 如何指定root的环境变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我做rails开发.在这个应用程序中,我需要指定环境变量LD_LIBRARY_PATH = /usr/local / oracle / lib,但是当我使用sudo脚本/服务器运行应用程序时,它不会运行,因为该库路径不在root的env中.

我该怎么做才能让它发挥作用?我试图将路径放在root ./bashrc下,但它没有用.

解决方法

我有类似的问题.我查看了我的/ etc / sudoers文件,我看到了这些行:
Defaults    env_reset
Defaults    env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
                        LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
                        LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
                        LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
                        LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
                        _XKB_CHARSET XAUTHORITY"

为了让我的环境变量在那里,我必须在“XAUTHORITY”之后添加它的名字.在你的情况下你会有:

Defaults    env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
                        LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
                        LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
                        LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
                        LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
                        _XKB_CHARSET XAUTHORITY LD_LIBRARY_PATH"

试一试.

还要确保在/ etc / environment中设置BASH_ENV =“〜/ .bashrc”.

See this other answer for more details

原文链接:https://www.f2er.com/linux/399092.html

猜你在找的Linux相关文章