sudo 弄乱了路径顺序

sudo 弄乱了路径顺序

PATH我在使用时遇到了一点问题sudo

PATH来自用户 shell:

/usr/local/bin:/usr/bin:/bin:/opt/bin

我的PATH来自 root shell,通过su或 root 在 TTY 上登录:

/usr/sbin:/usr/bin:/sbin:/bin

PATH来自 root shell,通过sudo -s

/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin

如您所见,当使用 时,和sudo的顺序是相反的。/bin/usr/bin/usr/local/bin

这很烦人,特别是当我使用 Vim 时。我习惯使用vi符号链接vim。我的 Gentoo 系统上的符号链接配置是:

/bin/vi     -> busybox
/usr/bin/vi -> vim

因此在大多数情况下,只需输入vi即可启动 Vim,但如果我使用sudo vi,我最终会得到 Busibox vi,因为顺序发生了变化PATH

我不知道如何sudo建立这条新路径,有没有办法改变它?

答案1

检查 /etc/sudoers 文件或 /etc/sudoers.d 目录。您应该会看到类似以下内容的内容:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

相关内容