当我想成为 root 时出现错误
╭─saviam@server ~
╰─$ sudo -i
sudo: myPassword*: command not found
╭─saviam@server ~
╰─$
答案1
错误sudo: myPassword*: command not found
可能由于两个不同的原因而发生:
- 用户的变量
PATH
不包含sudo
二进制路径。 sudo
包被错误地从服务器中删除。
原因1的解决方法:
sudo
使用命令检查二进制文件的绝对路径find /usr/bin/ /bin/ /usr/local/bin/ /sbin/ -type f -name sudo
- 您可以使用绝对路径来运行 sudo 命令,例如
/usr/bin/sudo -i
,但是这只是临时修复。 - 作为永久性的修复,您需要将二进制文件的绝对路径添加
sudo
到用户saviam
的PATH
变量中。 - 运行命令,用二进制文件的实际路径
echo 'PATH="sudo_absolute_path:$PATH"' >> ~/.bashrc
替换。它应该像或等等。sudo_absolute_path
sudo
/usr/bin
/bin
原因2的解决方法:
- 如果
sudo
服务器缺少包,则需要重新安装该包。 - 为此,您需要以用户身份登录
root
并安装该包。
答案2
我刚刚确认,因为我有同样的问题。对于 ubuntu:22.04_stable,由于您是 root,我猜他们决定不安装该软件包。
安装 sudo
这帮我解决了问题。