Hub*_*bro 5 linux debian sudo environment-variables env
我正在尝试 sudo 一些位于自定义路径中的二进制文件。sudo
虽然我运行时会删除该自定义路径,但sudo -E
应该保留我的路径。为什么不起作用?
$ 环境 | egrep ^路径 PATH=/home/codemonkey/.nvm/v0.6.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/gam es:/usr/游戏 $ sudo 环境 | egrep ^路径 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin $ sudo -E 环境 | egrep ^路径 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"
Run Code Online (Sandbox Code Playgroud)
现在,您的用户将不会PATH
重置 sudo 命令(-E
不需要此操作)。有关更多详细信息,
请参阅手册页。
编辑:必须指出这是一个糟糕的答案。它确实有效,但它有一个我在使用它时没有注意到的副作用。它还使该组中的用户无需输入密码。似乎如果不允许这样做,您就无法保留 PATH 。我觉得有点傻...