我最近重新安装了 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 -s
或sudo -i
)。因此,您有很多方法来修复系统:sudo /bin/zsh
为您提供一个 shell,您可以从中运行vipw
并更正 root 条目。甚至可以sudo vipw
直接运行。
我建议在一个终端中启动 root shell,并在另一个终端中进行配置更改。在通过测试sudo -i
或sudo su
工作确认系统已恢复到工作状态之前,请勿退出该 root shell 。