Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34475
  • 博文数量: 4
  • 博客积分: 130
  • 博客等级: 入伍新兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-16 16:58
文章分类

全部博文(4)

文章存档

2011年(4)

我的朋友

分类: LINUX

2011-05-08 20:08:11

之前就听说过sudo的时候执行命令的环境变量和本来的user有所不同,由于一直没有本身体会过这个问题所以就一直没有研究过这个东西.

最近用svn的时候由于没有将working copy放在本身用户有写权限的目录,这样用sudo svn co和sudo svn up之类的都能够正常执行,当用sudo svn ci的时候就出了问题了.提示没有设定环境变量SVN_EDITOR.

这个好解决

sudo vim /etc/profile.d/svn.sh

export SVN_EDITOR=vim

然后

source /etc/profile

这样就有了SVN_EDITOR的环境变量了吧...

在执行sudo svn ci

继续报没有设置SVN_EDITOR,开始还困惑了一下,结果马上就想到了之前听说的sudo的环境变量和当前用户的不一样,

然后尝试

sudo export SVN_EDITOR=vim

sudo svn ci

继续失败

sudo export SVN_EDITOR=vim

sudo echo $SVN_EDITOR

得到正确的变量vim

这时候就困惑了....这个sudo之后的环境变量到底是怎么一回事呢...

搬出google大师...得到结果

----------------------------------------------------------------------------------

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"

---------------------------------------------------------------------------------

得出答案,解决问题

阅读(2764) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:FreeBSD下VIM开发环境配置

给主人留下些什么吧!~~