小编sim*_*mon的帖子

`/etc/sudoers` -- 只为一个命令指定 `env_keep`?

有什么方法可以指定sudo只为指定的命令保留某些环境变量吗?出于某些目的,我想要我的$HOMEenv。运行某些命令时保留的变量。出于其他目的和其他命令,我希望它重置。这可以做到/etc/sudoers吗?

编辑:

谢谢你的回答。我想知道我是否可以问一个后续问题,即“那么,为什么这不起作用?”

在我尝试开始工作的示例中,我想sudo nano阅读我的$HOME/.nanorc. 如果我使用这个:

Defaults:simon env_keep=HOME
Run Code Online (Sandbox Code Playgroud)

它完美地工作。如果我使用这个:

Defaults!/bin/nano env_keep=HOME
Run Code Online (Sandbox Code Playgroud)

或这个:

Cmnd_Alias      NANO = /usr/bin/nano,/bin/nano,/bin/rnano
Defaults!NANO   env_keep=HOME
Run Code Online (Sandbox Code Playgroud)

它根本不起作用。关于为什么的任何建议?(顺便说一句,我正在进行 Debian 测试。)

(注意:我不认为它是nano特定的,顺便说一句——我可以用一个简单的echos的单行 bash 脚本重现这种行为$HOME)。

sudo

24
推荐指数
2
解决办法
3万
查看次数

正确设置环境

我正在使用 zsh 和 gdm 来运行 gnome。前段时间我发现变量设置不正确。例如 LANG/LC_ALL 是不正确的(""而不是en_GB.UTF-8)。

我把.zshrc分成.zshrc.profile。在后者中,我设置了环境变量,但是如何在会话开始之前设置变量?我尝试了一些选择(.xinitrc, .xsessionrc),但似乎都不起作用。

编辑为了澄清-我曾经.profile手动在采购它.zshrc。无论如何它不会改变问题。

gnome gentoo desktop-environment gdm environment-variables

18
推荐指数
1
解决办法
8890
查看次数