加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 为什么不sudo -E实际上保护我的环境?

发布时间:2020-12-13 17:13:47 所属栏目:Linux 来源:网络整理
导读:我试图sudo一些自定义路径中的二进制文件.当我运行sudo时,该自定义路径被删除,但是sudo -E应该保留我的路径.为什么不起作用? $env | egrep ^PATHPATH=/home/codemonkey/.nvm/v0.6.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games$sudo env
我试图sudo一些自定义路径中的二进制文件.当我运行sudo时,该自定义路径被删除,但是sudo -E应该保留我的路径.为什么不起作用?
$env | egrep ^PATH
PATH=/home/codemonkey/.nvm/v0.6.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/gam
es:/usr/games

$sudo env | egrep ^PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

$sudo -E env | egrep ^PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

我知道如何解决它,我只想知道为什么sudo -E不起作用

解决方法

您可以设置exempt_group选项以告诉sudo为该组中的用户保留PATH.

例如,假设您的用户位于“sys”组中.将以下内容添加到您的sudoers文件中

Defaults exempt_group="sys"

现在你的用户不会为sudo命令重置PATH(这不需要-E).
有关详细信息,请参见the man page.

编辑:必须注意这是一个糟糕的答案.它确实有效,但它有一个副作用我在玩它时没有注意到.它还使该组中的用户免于必须键入其密码.似乎你不能在不允许的情况下获得PATH保存.有点傻我认为……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读