vmvare centos 7.0 root密码忘记后重置及总结
今天遇到了一个比较尴尬的事情,我centos 7.0的虚拟机密码忘了.....里面还有我配置好的环境呢。于是我就上网上搜索各种方法,最后经我验证下面这个方法比较靠谱:
使用光盘修复Centos: http://www.tuicool.com/articles/MJr2UzN
下面这个方法在重启之后发生了错误,可能我开启了syslinux,可以参考一下:
centOs7 忘记root密码:http://blog.csdn.net/niu_hao/article/details/52882895
================================================================
以上的记录是为了备忘一下,防止自己重复造轮子,下面说一下我在整个过程中总结的东西。
第一, grub
网上搜索的方法大致相同:
通过e键开启引导脚本的编辑界面-->修改脚本开启单用户模式-->单用户模式下使用passwd进行修改
ps: passwd修改时可能会报错(passwd token manipulation error),这个是因为权限不足导致的,把 / 目录用读写权限重新挂载就可以了。
那么这个grub到底是什么?
GNU Grand Unified Boot Loader(简称“GRUB”)它是一个多重操作系统启动管理器。用来引导不同系统,如windows,linux。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。GNU GRUB的前身为Grand Unified Bootloader。它主要用于类Unix系统;同大多Linux发行版一样,GNU系统也采用GNU GRUB作为它的启动器。Solaris从10 1/06版开始在x86系统上也采用GNU 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进行密码设置,这样即使把系统改成单用户方式了,也无法直接的启动计算机进行操作。
参考网址: Linux的单用户模式 http://www.cnblogs.com/comeonbaby/p/5276096.html
什么是单用户模式 http://www.jb51.net/os/RedHat/1215.html
vmvare centos 7.0 root密码忘记后重置及总结的更多相关文章
- MySQL root密码忘记后更优雅的解决方法
MySQL root密码忘记后更优雅的解决方法 https://www.jb51.net/article/143453.htm /usr/bin/mysqld_safe --defaults-file ...
- windows下mysql解压版安装及centos下mysql root密码忘记
windows安装 1. 下载zip版的解压后将bin添加到path. 2. 修改解压目录D:\mysql\mysql-5.7.12-winx64下的my.ini,设置路径: 还要添加 [client ...
- root密码忘记后如何修改
方法一: 1.在DOS窗口下输入net stop mysql5 或 net stop mysql 2.开一个DOS窗口,这个需要切换到mysql的bin目录.一般在bin目录里面创建一个批处理1.ba ...
- mysql密码忘记后重置密码
之前在centOS里安装了xampp,设置了mysql数据库root密码,今天需要增加个数据库,发现忘记之前设置的密码是什么了.经过一番摸爬滚打,终于搞明白了,注意以下的操作都是以linux的root ...
- MySQL数据库root密码忘记丢失重置方法
对于DBA来说,丢失超管用户root的密码是致命的, 可以通过添加--ship-grant-tables参数来跳过权限表. 1.忘记root密码,进不去数据库: 这个时候需要强制停库,先查看MySQL ...
- windows环境下,mysql的root密码丢失后重置方法
运行窗口输入 services.msc,检查mysql服务是否启动,如果启动手动停止或输入 net stop mysql 停止msyql服务. 打开cmd命令行,使用cd命令进入mysql 的bi ...
- [转]Mariadb的root密码忘记后的解决方法
环境背景:CentOS 7.2 一.编辑/usr/lib/systemd/system/mariadb.service 文件,在Service段中添加 1 2 3 4 5 6 7 8 9 10 ...
- Mysql root 用户密码忘记后重置root密码
[windows] 1.停止mysql服务:打开命令行窗口CMD,Net stop mysql 2.用另外一种方式启动Mysql:在命令行进入到mysql的安装路径下的bin目录下使用 mysqld- ...
- mysql5.7中root密码忘记后修改密码
一.更改my.cnf配置文件 1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 2.在[mysqld]下添加skip-grant-t ...
随机推荐
- UVA 10465 Homer Simpson(全然背包: 二维目标条件)
UVA 10465 Homer Simpson(全然背包: 二维目标条件) http://uva.onlinejudge.org/index.php? option=com_onlinejudge&a ...
- Go语言核心之美-必读
Go语言核心之美开篇了!.不管你是新手还是一代高人,在这个系列文章中.总能找到你想要的! 博主是计算机领域资深专家并且是英语专8水平,翻译标准仅仅有三个:精确.专业.不晦涩,为此每篇文章可能都要耗费数 ...
- Java并发与同步
Java中并发的形式无非是多线程和多进程两种形式.这两种形式都是能够利用多核来发挥计算能力的. 先说并发: 多进程意味着同一时候执行多个JVM.这个代价通常比多线程高,每一个JVM都有自己的堆栈.都要 ...
- 在linux上手动搭建svn服务器
svn服务器的搭建 环境: linux CentOS 7 安装: 1.安装svn服务器 yum install subversion 2.查看版本 svnserve --version 3.创建版本库 ...
- 自学Zabbix3.2-配置功能简介
zabbix配置功能介绍 zabbix配置内容比较多,我们要分为9大块来讲解.分别如下: 1. 主机与组 添加主机配置与组配置. 1.1.创建主机方法 1.1.1 新建主机 c ...
- NanUI 0.4.4发布
NanUI是一个基于ChromiumFX开源项目的.Net Winform界面库,ChromiumFX是Chromium Embedded Framework的.Net实现.众所周知,Chromium ...
- nodejs实现OAuth2.0授权服务
OAuth是一种开发授权的网络标准,全拼为open authorization,即开放式授权,最新的协议版本是2.0. 举个栗子: 有一个"云冲印"的网站,可以将用户储存在Goog ...
- Android查缺补漏(View篇)--自定义 View 的基本流程
View是Android很重要的一部分,常用的View有Button.TextView.EditView.ListView.GridView.各种layout等等,开发者通过对这些View的各种组合以 ...
- 虚拟表dual。字符串函数UPPER,LOWER。&变量。INITCAP,LENGTH,SUBSTR
&自定义变量的用法:
- H5之前端操作文件
js是否能够操作文件? js在HTML5以前浏览器端是无法操作文件的,但HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载( ...