如何将 root 的 shell 改回 bash?

如何将 root 的 shell 改回 bash?

我尝试使用命令更改 root 的 shell chsh,但是现在当我尝试以 root 身份连接时收到错误sudo -i

$ sudo -i
sudo: /usr/bin/bash: command not found

我必须修改什么才能获得bashshell?

答案1

假设您没有修改路径或创建符号链接,则二进制文件的默认路径bash/bin/bash,而不是/usr/bin/bash

发生错误是因为您已将root的 shell 设置为/usr/bin/bash如下/etc/passwd形式:

root:x:0:0:root:/root:/usr/bin/bash

您需要将其更改为/bin/bash

sudo usermod -s /bin/bash root

或者:

sudo vipw

并手动进行修改。

显然,您可以选择任何其他 shell,只要确保路径正确即可。查找 shell 路径的常见位置是/etc/shells文件,其中包含系统上所有有效登录 shell 的完整路径。

相关内容