相关疑难解决方法(0)

为什么通过 sudo 和 su 运行时 PATH 变量不同?

在我的 Fedora VM 上,使用我的用户帐户运行时/usr/local/bin,我的路径中有:

[justin@justin-fedora12 ~]$ env | grep PATH
 PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin
Run Code Online (Sandbox Code Playgroud)

同样在运行时su

[justin@justin-fedora12 ~]$ su -
Password: 
[root@justin-fedora12 justin]# env | grep PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin
Run Code Online (Sandbox Code Playgroud)

但是,运行 via 时sudo,此目录不在路径中:

[root@justin-fedora12 justin]# exit
[justin@justin-fedora12 ~]$ sudo bash
[root@justin-fedora12 ~]# env | grep PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)

为什么运行 via 时路径会不同sudo

linux shell sudo path environment-variables

52
推荐指数
4
解决办法
5万
查看次数

标签 统计

environment-variables ×1

linux ×1

path ×1

shell ×1

sudo ×1