centos的服务器重启后无法启动:显示Failed to start Login Service
显示类似输出:
排错思路:
既然卡在登录界面,那就是bash环境的问题,或者用户问题
bash环境查看是不是有文件损坏,之前是不是操作了链接文件到普通用户目录下、再或者想一下之前对root用户进行了那些修改(配置文件)等 ,再者就是查看Selinux关闭了没有
用户问题就查看 /etc/passwd 和 /etc/shadow 文件是否正常。
解决方法
进入救援模式
查看/var/log/secure
登录日志,发现就没有登录。那就是用户问题了,到/etc下,查看passwd文件、以及该目录下的其他文件(最近有过改动的配置文件),然后恢复修改。
本次的故障出现是因为root用户的最近操作是将anconda安装到了root用户下,并相应修改配置文件,因此就尝试删除anconda 和 并修改配置文件。(为什么会出现故障:待解决?)
首先centos进入救援模式
2 通过↓键找到linux16
开头行,如所示“ro”处(ro表示只读),将ro替换为rw init=/sysroot/bin/sh
,然后按ctrl+x
系统重启进入救援模式
进入救援模式
3 输入chroot /sysroot
回车执行命令,获取root权限,然后通过vi对相应的错误配置进行修复,最终重启系统(ls /sysroot/ 下面才是我们正常系统里面的文件)
另外 救援模式 下ls有些文件无法显示,使用 ls -a 查看所有文件
进入root用户,删除了anconda文件夹(rm -rf)
在环境变量中删除anaconda:
打开 ~/.bashrc (例如: vim ~/.bashrc),找到与conda 相关的,注释掉即可:
4、更新环境变量:
source ~/.bashrc 修改完成后 输入 exit and reboot重启系统就可
反思:
1、root用户里进行的操作谨慎
2、安装或下载的位置不要再root目录下
在默认安装的初始情况下,Linux系统中的超级用户为root,也称其为根用户,具有系统中最高的权限。超级用户可以对Linux 系统做任何操作,比如终止进程、添加或删除硬件设备、超越任何用户和用户组的权限来对文件或目录进行读取、修改或删除,所以除非绝对必要,不要使用超级用户来进行操作或者登录,经常使用超级用户进行操作,会使系统存在很大的危险!许多网络服务器在处理超级用户时都有一些特殊的考虑。比如在默认安装的情况下,超级用户是无法通过telnet登录Linux系统的,如果允许这样做,就会成为一个相当大的安全漏洞。需要初学者注意的是,在大部分Unix和Linux操作系统里,UID为0的即为超级用户,其登录名称并不一定是“root”。