TL, DR: use su --login
ou sudo
.
O Debian define um PATH
diferente para usuários comuns. Em /etc/profile
, você pode ver que os padrões reservam /sbin
para raiz:
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
diz que o utilitário reside em /sbin/ifconfig
, e é por isso que os usuários comuns não podem acessá-lo facilmente. Quando você executa su
sem argumentos, o ambiente do usuário chamador é preservado, incluindo a variável PATH
. sudo
, por outro lado, fornece um ambiente novo e substitui o usuário chamador PATH
.
O motivo pelo qual você acredita que su
não está funcionando corretamente é porque a reconfiguração de PATH
e IFS
por padrão é um comportamento herdado. O buster mudou recentemente para a implementação util-linux
de su
, que funciona de forma diferente; veja /usr/share/doc/util-linux/NEWS.Debian.gz
para detalhes.