centos 5 的 sudo 默认将原有的环境变量 reset,只保留一些对安全没有影响设定。
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"
但是在用于开发的机器上,有时候这个安全设定不是那么方便,可以通过 visudo 修改配置为保留原有的环境变量
Defaults !env_reset
#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"