目录
前文
网上一堆文吹嘘oh-my-zsh多么多么炫酷多么多么好用,一不小心就陷进去想试试,现在想想,都是浮云,只能在本地机子或者自己的服务器上尝试,生产环境根本不可能给权限安装这种华而不实的东西,如果是银行等保密性要求更高的,只给你看黑白界面,到时候习惯了oh-my-zsh后,回到一无所有的情况下,就措手不及了。
现在的问题就是,直接用yum remove zsh,卸载了,然后退出后,就死活登录不上了,关键我用的还是root账户,所以就直接GG了。据说卸载zsh要用官方提供的sh脚本去执行才行。
问题起因
用yum remove zsh卸载的不够彻底,/etc/passwd里的root账户使用的还是zsh,但是zsh已经卸载了,根本找不到,所以就一直登陆不进去,即使密码是正确的。
一度想重装算了,但是还是不甘心,网上也找不到对应的解决方法,有人遇到了但是root账号还能登陆,有人没有完全退出root账号,这时候还能修改。
梳理一下搜索获得的一些片段,发现其实解决方法很简单,只需要能在不用账号密码登陆的前提下,修改 /etc/passwd 的内容就行。
这时候就想到了centos7忘记密码的解决方案,参考之前的一篇文章
解决步骤
1. 物理重启服务器,开机引导时e进入编辑模式
2. 移动向下光标,找到linux16开头行
PS:在64位IBM Power Series是 linux 这一行尾;在x86-64 BIOS引导的系统中是 linux16 这一行尾;在UEFI引导的系统中是linuxefi这一行尾 (反正找关键词是哪个就改哪一行)
3. 找到当前行ro开头的,修改
把 ro crashkernel=auto 改成 rw init=/sysroot/bin/sh
4. 按ctrl+x执行,进入单用户模式界面
5. 输入chroot /sysroot 获取权限
6. 进入etc目录,cd /etc
7. 修改passwd文件,vi passwd
把zsh修改成bash
8. 用 " touch /.autorelabel " 更新SELinux信息;
9. 两次exit,退出chroot
10. 输入reboot重启
问题解决
over, enjoy!