人们通常出于各种原因希望在执行时保留环境变量sudo
,但是,在某些情况下丢弃环境变量更有意义。例如,在 Ubuntu 上,$HOME
(以及一些其他变量)被转移到以 root 身份生成的进程中;然而,当尝试使用 Linux 容器时,这是没有意义的。
显然可以进行编辑/etc/sudoers
来配置此行为,但我想保留此行为并仅针对某些命令放弃环境变量。有一个-H
标志,但这仅适用于$HOME
我的情况,因为我需要取消设置,所以对我来说并没有真正的帮助全部变量。
我该怎么做呢?
答案1
您需要使用破折号,如下所示:
sudo su - me
这样你就跑进去了我的环境,而不是你来自的环境。