博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vmvare centos 7.0 root密码忘记后重置及总结
阅读量:5972 次
发布时间:2019-06-19

本文共 2639 字,大约阅读时间需要 8 分钟。

今天遇到了一个比较尴尬的事情,我centos 7.0的虚拟机密码忘了.....里面还有我配置好的环境呢。于是我就上网上搜索各种方法,最后经我验证下面这个方法比较靠谱:

使用光盘修复Centos: http://www.tuicool.com/articles/MJr2UzN

下面这个方法在重启之后发生了错误,可能我开启了syslinux,可以参考一下:

 http://blog.csdn.net/niu_hao/article/details/52882895

================================================================

以上的记录是为了备忘一下,防止自己重复造轮子,下面说一下我在整个过程中总结的东西。

第一, grub

网上搜索的方法大致相同:

通过e键开启引导脚本的编辑界面-->修改脚本开启单用户模式-->单用户模式下使用passwd进行修改

ps: passwd修改时可能会报错(passwd token manipulation error),这个是因为权限不足导致的,把 / 目录用读写权限重新挂载就可以了。

那么这个grub到底是什么?

 Grand Unified Boot Loader(简称“GRUB”)它是一个多重启动管理器。用来引导不同系统,如windows,。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个,并在计算机启动时选择希望运行的。GRUB可用于选择分区上的不同,也可用于向这些传递启动参数。 GRUB的前身为Grand Unified 。它主要用于;同大多发行版一样,系统也采用 GRUB作为它的启动器。从10 1/06版开始在x86系统上也采用 GRUB作为启动器。

这是从bing网典上copy过来的,grub支持脚本和命令行两种模式,曾经我把我的双系统(win7+ubuntu16.04)搞崩了,就是靠grub的命令行救过来的。在grub里面你可以设置boot分区所在的物理位置,也可以设置引导脚本所在的路径(不熟悉的同志在修改引导脚本前一定要备份),这些文件基本都在boot分区下面。

在安装linux系统的过程中一般会有多分区的提示,其中/boot是一个很重要的分区,里面包含着系统启动引导过程中需要的文件以及linux内核文件,网上大多数建议是分配给/boot 100M的空间,但是我想说这不够!如果你的硬盘空间足沟充裕的话尽量给boot分区多一点空间,以免以后你经常面临boot空间不足引发的问题。

 

有喜欢深究的朋友就会问,grub加载的系统,那谁加载的grub?

这就会引出一个叫做MBR的概念:

主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。

通常,我们将包含MBR引导代码的称为主引导扇区。因这一中,引导代码占有绝大部分的空间,故而将习惯将该扇区称为MBR扇区(简称MBR)。由于这一承担有不同于磁盘上其他普通的特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令不能清除主引导记录的任何信息。

grub就被包含在MBR里面,而MBR则是由BIOS进行加载的,简单的来讲一个linux系统启动过程是这样的:

【0】按电源键启动

【1】BIOS启动,进行开机自检

【2】加载MBR,运行主引导代码段

【3】进入grub界面选择加载的内核(也有其他的启动引导程序如lilo)

【4】grub从boot分区加载系统内核和引导所需文件,引导启动系统,进入linux

那么bios又是怎么启动的呢?它是固化在一个芯片上的,不同厂商的bios都是不同的。

注意:/boot和主引导分区不要混淆,主引导分区是无需分配的,它在硬盘上有固定的位置和大小(512M,0x0000~0x01FF).

参考网址:Linux系统管理之GRUB引导 http://www.2cto.com/os/201202/120395.html

                  MBR http://www.cnblogs.com/lifeinsmile/p/4245261.html

     Linux startup process https://en.wikipedia.org/wiki/Linux_startup_process

第二,单用户模式

单用户模式类似于windows系统下的安全模式,在该模式下系统并未完全加载。单用户模式下只允许一个任务在执行,所有的操作默认是root权限而且不需要密码!!!what fuck?不需要密码还有root权限,如果别人在我的电脑里进入了单用户模式岂不是可以胡作非为了?

一下是转载的一些单用户模式注意的问题:

  由于单用户对有完全的控制权限,如果不当或被他人进入,那么后果将不堪设想,如何防止入行单用户了,有以下几个注意的方面。

  1、对/etc/inittab文件进行保护,如果把id:3:initdefault中的3改为成1,就可以每次启动直接进入到单用户方式。对/etc/inittab文件,以root身份进入通过chown700 /etc/inittab把属性设为其它用户不能修改就行了。

  2、如果是使用的lilo方式进行引导,可能通过Linuxconf或直接修改lilo.conf把引导时等待输入时间为0或最短时行。这种情况下,如果进入单用户方式,可以用软盘进行引导。

  3、如果使用是GRUB方式进行引导,最简单的是使用GRUB密码,对启动选项进行保护。

  4、为了防止他人远程进行破坏,使重启,除了对ROOT的密码和/etc目录下的文件进行有效管理之外,还应当对CMOS进行密码,这样即使把改成单用户方式了,也无法直接的启动计算机进行。

参考网址:   http://www.cnblogs.com/comeonbaby/p/5276096.html

     什么是单用户模式 http://www.jb51.net/os/RedHat/1215.html

转载于:https://www.cnblogs.com/cnblogs-wangzhipeng/p/7076925.html

你可能感兴趣的文章
携程对AIOps场景和算法的探索与实践
查看>>
Cable:360实现的新虚拟网络架构
查看>>
Visual Studio推出改进的C/C++支持
查看>>
为什么选择PostgreSQL而不是MySQL
查看>>
创建快乐的工作环境
查看>>
解读:Java 11中的模块感知服务加载器
查看>>
GitLab Web IDE正式发布10.7版本并开源
查看>>
Alluxio在多级分布式缓存系统中的应用
查看>>
依赖类型语言Idris发布1.0版本
查看>>
秒杀业务架构优化之路
查看>>
简析Uber的可伸缩监控:uMonitor和Neris
查看>>
Roman to Integer
查看>>
Stimulsoft报表控件 v2016.1版本全线更新【附下载】
查看>>
[LintCode] Count 1 in Binary [典型位运算题目]
查看>>
微信公众平台JSSDK分享接口开发(PHP实现)
查看>>
JavaScript原型和继承
查看>>
AI切入养老大健康,漫谷科技发布“正钛” 健康服务机器人 ...
查看>>
Java Spring AOP的两种配置方式
查看>>
Magix中的缓存模块
查看>>
xinetd被动服务唤醒
查看>>