我尝试使用命令更改 root 的 shell chsh
,但是现在当我尝试以 root 身份连接时收到错误sudo -i
。
$ sudo -i
sudo: /usr/bin/bash: command not found
我必须修改什么才能获得bash
shell?
答案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 的完整路径。