当我(在我的 debian 机器上)更改为 root 用户时su
,显然 PATH 设置不正确。一些重要的目录,如usr/local/sbin
丢失。
在/etc/profile
我有以下几行(显然不是我写的标准默认内容):
if [ "`id -u`" -eq 0]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin/:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin"
fi
export PATH
在/etc/login.defs
我有(也是默认的东西):
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
为什么我的 PATH 设置不正确su
?
当被要求保护环境时,Modern
su
不再从调用者那里重置;PATH
如果您需要发生这种情况,请su --login
改为执行。来自
/usr/share/doc/util-linux/NEWS.Debian.gz
: