我尝试在ubuntu上安装zsh ( 14.04)。当我切换到zsh时,我无法进入超级用户模式。
如果我做了su,它要求密码,并输入正确的密码,它说:
Cannot execute which zsh: No such file or directory但是当我输入一个不正确的密码并按enter 4-5次时,它什么也不会显示.
在检查我的/etc/passwd文件时,它显示:
root:x:0:0:root:/root:which zsh我试着编辑这个文件并保存,但是它显示了
Unable to save /etc/passwd我试图通过grub将运行级别更改为1,但这会导致一个错误:
APCI PCC probe failed我正在VirtualBox上运行Ubuntu。
发布于 2016-05-09 13:11:05
您应该从密码文件中删除which单词..。应该是这样的:
root:x:0:0:root:/root:/bin/zsh其中/bin/zsh是zsh二进制文件的路径。
在当前配置中,登录进程试图执行which zsh,而该命令失败了。
另外,以根用户的身份编辑文件,例如使用sudo vim /etc/passwd,因为它是一个只能由根用户写的文件。
如果您不能sudo或su,那么启动到恢复模式(在GRUB引导加载程序中选择Ubuntu高级选项,然后选择Ubuntu.(恢复模式),然后选择root/Drop到根shell提示符)。之后,将/文件系统重新装入读-写(mount -o remount,rw /),然后您可以编辑/etc/passwd文件的内容。在Ubuntu 16.04上测试了这个。
发布于 2016-05-10 03:55:00
如果您知道根密码,可以运行su -s /bin/bash来获得根bash。
sudo -s /bin/bash也应该工作,根据配置sudo的方式,您要么只需要知道自己的密码,要么不需要密码。
然后可以使用chsh -s /bin/bash将根的shell更改为bash。
顺便说一句,在任何unix系统上更改根的shell通常都是个坏主意。许多cron作业等都依赖于root的shell作为该操作系统的默认根shell,如果您更改它,它就会中断。
发布于 2016-05-09 13:37:25
请尝试sudo /etc/passwd并输入您当前登录的用户密码。
您还可以在/etc/shell中找到shell正确的路径。
若要检查当前外壳,请尝试回波$SHELL。
https://unix.stackexchange.com/questions/282042
复制相似问题