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