ubuntu 14.04 lts 上的 Sudo su 问题:找不到 /root/zsh

ubuntu 14.04 lts 上的 Sudo su 问题:找不到 /root/zsh

我最近重新安装了 ubuntu 14.04 lts 并安装了我最喜欢的 shell (zsh),但现在遇到了问题。

当我输入时,sudo su它返回一条错误,指出/root/zsh无法找到。

我不确定我需要做什么来解决这个问题,因为这是我第一次在使用这个系统时遇到这个错误。

还有当我这样做的时候,sudo chsh -s /bin/zsh

我明白了

PAM_AUTHENTICATION failed

任何帮助,将不胜感激。

答案1

su按照登录数据库中的指示执行您的登录 shell。这是/root/zsh,它不存在,因此命令su失败。

chsh只接受更改当前拥有有效 shell(在 中列出)的用户的 shell /etc/shells。由于/root/zsh不被接受,chsh失败。 root 用户可以更改任何人的 shell,但此测试是在当前 shell 的有效性检查之后进行的。

但是sudo它本身并不关心您的登录 shell(除非您运行sudo -ssudo -i)。因此,您有很多方法来修复系统:sudo /bin/zsh为您提供一个 shell,您可以从中运行vipw并更正 root 条目。甚至可以sudo vipw直接运行。

我建议在一个终端中启动 root shell,并在另一个终端中进行配置更改。在通过测试sudo -isudo su工作确认系统已恢复到工作状态之前,请勿退出该 root shell 。

相关内容