sudo -i
每当我在终端中使用该命令时,我都会得到:
$ sudo -i
[sudo] password for user:
sudo: /bin/bash/asd: command not found
这/bin/bash/asd
只是我之前输入的一些错误目录。
即使重新启动并清除终端历史记录后,sudo
仍然出现此错误。
有没有什么办法解决这一问题?
答案1
我现在在测试时遇到了这个问题,不知道问题的原因是什么,肯定是因为将不存在的 shell 设置为root
默认 shell。
我无法运行任何命令sudo
,我无法运行sudo -i
,sudo -i /bin/bash
甚至无法运行sudo su -
,因为没有/bin/bash/asd
。
我唯一能做的并且有效的事情就是运行:
sudo -s /bin/dash
获取具有 root 访问权限的 shell,sudo -s /bin/bash
也应该可行。
然后使用nano
编辑passwd
文件:
nano /etc/passwd
你应该看到如下一行:
root:x:0:0:root:/root:/bin/bash/asd
更改为:
root:x:0:0:root:/root:/bin/bash
使用Ctrl+O然后按下Enter保存文件。
现在使用exit
命令退出dash
具有访问权限的 shell root
。
您已完成,但我建议运行:
sudo chsh root -s /bin/bash
以确保权限正确。