切换回bash后无法访问root


3

我刚接触Linux并使用Debian7。我正在使用bash,但通过使用chsh尝试了zsh。最初可能输入了错误的Shell名称,但最终成功切换到zsh。

现在我切换回bash但无法访问root

当我按su和密码时,它返回“无法执行zsh:无此类文件或目录”,而显然我正在使用bash。

此外,当我改回zsh时,它仍然说“无法执行zsh ...”。

有人可以帮忙吗?

谢谢!

紫罗兰


您是否尝试过创建新的外壳?关闭您的终端程序,然后重新打开它。您也可以键入“ bash”。
13年

如果您的意思是使用除bash或zsh之外的其他shell,那么我没有,但是请您尝试一下。谢谢!顺便说一下,我正在使用GNOME终端。
violeaf

难道你chshzsh为您的非root账户以及root账号,后来卸载zsh?听起来您的root帐户仍在使用zsh,并且您仅将非root帐户切换回bash
AdrianFrühwirth13年

您可能已经chsh将根shell设置为zsh(无路径)而不是/bin/zsh(但chsh应该警告您),在这种情况下,它找不到该shell。
AdrianFrühwirth2013年

阿德里安(Adrian)我认为情况确实如此。现在如何重新将根shell换成chsh?尝试了Tommi的建议,但没有成功。任何想法?
violeaf

Answers:


0

这就是为什么您想在保留登录设置的同时始终保持在第二个终端登录的原因。

至于锁定自己后的恢复:由于您具有物理访问权限,因此只能从活动CD启动,然后将系统分区安装在磁盘上,然后/etc/passwd手动进行编辑。或重新启动,转到grub提示符,然后添加init=/bin/sh到您的内核命令行。


感谢@vbraun,在进行zch的root访问之前,我必须先导航到/ bin。然后,我不使用现场CD,而是对passwd进行了gudo编辑,并将shell值更改为/ bin / bash,无论它出现在哪里,现在看来都可以使用。再次感谢您的所有帮助
violeaf

0

su -s / bin / sh -c chsh根目录

这次确保您提供完整的路径。


Tommi,我输入了此密码和密码,但是得到了“无法执行zsh”
violeaf

1
根本行不通,这很愚蠢。
mpgn 2014年

想详细说明为什么您认为它很愚蠢?如果他在/ etc / shells中列出了/ bin / zsh(我假设是这种情况),那么-s将与su一起使用。我什至通过首先将我的根目录(默认情况下使用/ bin / zsh)切换为使用/ bin / bash来确保其正常工作。然后我将/ bin / bash移至/bin/bash.disabled。如此处所述,无法以root用户身份登录。尽管我在/ etc / passwd中拥有根目录,但还是执行了我发布的上述命令,并且能够将shell更改回我的默认目录。
Tommi Kyntola 2014年

0

输入$ sudo bash要求输入密码输入密码,然后输入

cd / etc(按Enter)

输入#nano passwd按Enter,然后更改您的passwd文件(替换zsh wit sh)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.