Linux 因为删除了默认的shell ,导致无法进入root 并且无法使用 sudo

记一次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 查看本文章

            一步一步慢慢学,不怕学的比别人慢,就怕什么也没学。

----致自己


猜你喜欢

转载自blog.csdn.net/arctic_fox_cn/article/details/80565864