TL, DR: Verwenden Sie su --login
oder sudo
.
Debian legt PATH
für normale Benutzer einen anderen Wert fest. In /etc/profile
können Sie sehen, dass die Standardeinstellungen /sbin
für root gelten:
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
sagt, das Dienstprogramm /sbin/ifconfig
befindet sich, weshalb normale Benutzer nicht einfach darauf zugreifen können. Wenn Sie su
ohne Argumente ausführen, bleibt die Umgebung des aufrufenden Benutzers einschließlich der PATH
Variablen erhalten. sudo
Andererseits bietet es eine frische Umgebung und überschreibt den anrufenden Benutzer PATH
.
Der Grund, warum Sie glauben, dass su
es sich um eine Fehlfunktion handelt, liegt darin, dass das Zurücksetzen PATH
und IFS
standardmäßig das alte Verhalten ist. Buster hat kürzlich auf die util-linux
Implementierung umgestellt, die su
anders arbeitet. siehe /usr/share/doc/util-linux/NEWS.Debian.gz
für weitere Einzelheiten.