TL, DR: используйте su --login
или sudo
.
Debian устанавливает другой PATH
для обычных пользователей. В /etc/profile
вы можете видеть, что значения по умолчанию резервируют /sbin
для root:
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:/usr/local/games:/usr/games"
fi
export PATH
type ifconfig
говорит, что утилита находится в /sbin/ifconfig
поэтому обычные пользователи не могут легко получить к ней доступ. Когда вы запускаете su
без аргументов, среда вызывающего пользователя сохраняется, включая переменную PATH
. sudo
, с другой стороны, предоставляет новую среду и переопределяет PATH
вызывающего пользователя.
Причина, по которой вы считаете, что su
работает неправильно, заключается в том, что сброс PATH
и IFS
по умолчанию является устаревшим поведением. buster недавно переключился на реализацию util-linux
su
которая работает по-другому; см. /usr/share/doc/util-linux/NEWS.Debian.gz
для получения подробной информации.