未找到命令 - Debian GNU/Linux 上缺少 /sbin 路径
从 Debian 10 buster 开始,su
命令的使用方式已经改变。默认情况下,执行 su
命令不再为您提供预期的用户环境变量。
在通过执行不带参数的 su
简单切换到管理用户 root
的情况下,预期 root 的 PATH
变量未正确设置。
症状
这是一个例子:
$ su
Password:
# reboot
bash: reboot: command not found
# adduser
bash: adduser: command not found
bash:重新启动:找不到命令 – Debian GNU/Linux 缺少 /sbin/
目录的路径
解决方案
解决此不便的技巧是显式告诉 su
设置环境变量,就像用户直接登录一样。这可以通过使用 -
开关来完成。
注意
摘自man su
手册页。 -、-l、-login 将提供类似于用户直接登录时所期望的环境。
要为 root 用户设置正确的路径,请确保使用 -
或 -l
或 --login 执行 su
命令开关。例子:
$ su -
OR
$ su -l
请注意使用 su
命令获取 root 访问权限的两次尝试的 PATH 设置不同。