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

linux – sudo E选项不起作用?

发布时间:2020-12-14 01:15:25 所属栏目:Linux 来源:网络整理
导读:在我看来,如果我在$HOME / path / to / script / myscript中编写 shell脚本,并导出PATH = $PATH:$HOME / path / to / script /那么sudo -E myscript应该运行脚本吗? From sudo man page: ?E The ?E (preserve environment) option indicates to the securi
在我看来,如果我在$HOME / path / to / script / myscript中编写 shell脚本,并导出PATH = $PATH:$HOME / path / to / script /那么sudo -E myscript应该运行脚本吗?

From sudo man page:

?E
The ?E (preserve environment) option indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the ?E option is specified and the user does not have permission to preserve the environment.

但是sudo -E脚本找不到命令.我知道我可以将/ absolute / path / to / script /添加到确定sudo env的PATH变量的文件中,但这不是我想采取的方法.

要解决这些意见:
@ H2CO3:我看到sudo sudo漂浮在网络上,它让我非常烦恼,它实际上是在说“给我超级用户权限来运行超级用户”.我不知道它是否能解决问题,但它似乎是一个根本上有缺陷的方法.然后我又开始在90年代中期使用linux / bsd系统,所以我只关注sudo命令本身.
@rici:该脚本确实具有可执行权限,但是当* nix systems =中没有运行某些内容时,这肯定是需要检查的.

解决方法

默认情况下,/ etc / sudoers具有重置环境的设置.并且还定义了一个默认的secure_path,它在运行sudo -E [cmd]时生效.

您需要编辑/ etc / sudoers文件并添加“env_keep”并提及要保留的变量.

默认env_keep =“PATH”

但在此之前注释掉secure_path行.然后通过sudo -E尝试你的命令.

(编辑:李大同)

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

    推荐文章
      热点阅读