在 CentOS 中执行 sudo 时获取我的 ~/.zshrc

在 CentOS 中执行 sudo 时获取我的 ~/.zshrc

在 ubuntu 和 debian 中:当我以 root 身份访问时,sudo -E zsh 它会自动加载我的 .zshrc。

source ~my_user/.zshrc在 CentOS 中,每次执行 sudo 之后我都必须输入。

如何在 CentOS 中自动加载我的 .zshrc?

更新:

我自己找到了一个解决方案:

sudo -E HOME=$HOME zsh

变量被覆盖的原因HOME是因为/etc/sudoers包含:

Defaults    always_set_home


# Preserving HOME has security implications since many programs
# use it when searching for configuration files. Note that HOME
# is already set when the the env_reset option is enabled, so
# this option is only effective for configurations where either
# env_reset is disabled or HOME is present in the env_keep list.

据我所知,这样做是出于安全原因。这样当以提升的权限运行程序时,我的用户主目录中的设置文件就无法被用来攻击系统。

须藤人

sudoers 人

相关内容