记一次Linux操作失误
由于失误删除了root默认shell导致root进不去
我原本下载的是zsh这个软件,因为在后面使用感觉不太好用,之后就直接
xiandonghua@No:~$ su Password: root@No:/home/xiandonghua# apt-get remove zsh ... root@No:/home/xiandonghua# reboot
执行完上述代码之后就凉了,怎么也进不去了,在非root环境下使用sudo
都会提示无法找到/usr/bin/zsh
然后找到/etc/passwd
文件,然后使用vim /etc/passwd
,发现该文件默认设置为只读类型,不可修改。目前我使用sudo
都会报错,更何况该权限了。只好重启电脑,然后进入高级设置,找到相应内核,然后进入到那个系统修复的对应内核,点击进去,然后选择了ROOT那个选项,之后系统下方出现了字符界面,然后要求输入密码,当我输入密码的时候,界面提示一样的错误,无法找到那个文件。但是已经进入到root环境了,我就修改了/etc/passwd
的权限,然后退出重启。(这里有点傻了,我可以直接在刚才那个界面直接修改的)
进入到用户界面图形界面,打开用户的终端进行
xiandonghua@No:~$ sudo vim /etc/passwd root:x:0:0:root:/root:/usr/bin/bas #这里是设置root帐号,电脑开机的时候,会进行选择开机shell ... xiandonghua:x:1000:1000:xiandonghua,,,:/home/xiandonghua:/bin/bash #这里是设置普通用户开机时启动的shell
然后就修改root这里shell路径,因为系统自带了好久个shell,所以选择一个shell路径就可以了,一般最常用的是/bin/bash
.
执行完上述命令,然后 Ctrl + Alt + F1 ,进入tty1 字符界面。
登入root ,就可以进去了。之前这个root用户是进不去的,因为开机启动时没有shell可以支持,导致用户无法使用shell来与内核进行通信。
扫描二维码关注公众号,回复:
1476592 查看本文章
一步一步慢慢学,不怕学的比别人慢,就怕什么也没学。
----致自己