好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

单用户模式下修改Root用户的密码

单用户模式下修改Root用户的密码

单用户模式下修改Root用户的密码

在上一篇随笔里面详细讲解了Linux系统的启动过程 ( Linux学习之CentOS(二十一)--Linux系统启动详解 ),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab 这个文件我们就能看到:

[root@xiaoluo ~]#  cat  /etc/ inittab
# inittab is only used by upstart   for   the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by  /etc/init/ rcS.conf
#
# Individual runlevels are started by  /etc/init/ rc.conf
#
# Ctrl -Alt-Delete is handled by /etc/init/control-alt- delete.conf
#
# Terminal gettys are handled by  /etc/init/tty.conf and /etc/init/ serial.conf,
# with configuration   in  /etc/sysconfig/ init.
#
# For information on how to   write   upstart event handlers, or how
# upstart works, see init(  5 ), init( 8 ), and initctl( 8  ).
#
# Default runlevel. The runlevels used are:
#     0  -  halt (Do NOT set initdefault to this)
#     1  -  Single user mode
#     2  - Multiuser, without NFS (The same as  3 ,  if  you  do   not have networking)
#     3  -  Full multiuser mode
#     4  -  unused
#     5  -  X11
#     6  -  reboot (Do NOT set initdefault to this)
# 
  id : 5 :initdefault:

这里我们看到系统的默认启动级别是5,也就是有图形界面的那个。

但是在现实生活中可能会出现这种问题,我们可能忘记了一台主机的root密码,但是我们又需要通过root用户登录该系统去处理一些事情,这个时候我们怎么办呢?我们看到在Linux的启动级别中有一个单用户模式启动,也就是启动级别1,当我们如果忘记了root用户的秘密,但是又需要修改root密码的时候,这个时候我们就要通过在启动的时候给系统的内核传递一个参数 1 或者 single 来告诉内核,我需要以单用户模式登陆操作系统,这个时候我们就能能够通过passwd 命令来重设root用户的密码。具体操作是怎样的呢?咱们有图有有真像!!

首先我们重启我们的系统(我这里是CentOS),然后在界面启动时让它停留一下,随便按一下键盘上的一个键,此时就会进入到操作系统配置引导界面

还记得上一篇随笔里面 /boot/grub/grub.conf 这个文件里的第一个  title  字段吗? 没错,每一个title都是一个操作系统的配置选项,这里我们只有一个,也就是上面图片显示的那个,如果有多个 title 字段,这里就会列出来供我们选择不同的操作系统。

好了,通过下面的英文提示我们发现按下键盘上的  e  键就可以进入到编辑界面

看到这个界面是不是很熟悉呢?没错,这三个选项就是我们  /boot/grub/grub.conf  文件里的配置信息,我们通过查看这个文件的内容来看一下:

[root@xiaoluo ~]#  cat  /boot/grub/ grub.conf
# grub.conf generated by anaconda
#
# Note that you   do  not have to rerun grub after making changes to this  file  
# NOTICE:  You   do  not have a / boot partition.  This means that
#          all kernel and initrd paths are relative to  / , eg.
#          root (hd0,  1  )
#          kernel  /boot/vmlinuz-version ro root=/dev/ sda2
#          initrd  /boot/initrd-[generic- ]version.img
#boot =/dev/ sda
 default  = 0  
timeout = 5  
splashimage =(hd0, 1 )/boot/grub/ splash.xpm.gz
 hiddenmenu 
 title  CentOS (  2.6 . 32 - 358  .el6.x86_64)
         root  (hd0,  1  )
         kernel   /boot/vmlinuz- 2.6 . 32 - 358 .el6.x86_64 ro root=UUID=6e24ec7a-2d19-466e-bacc-92750b1f4bef rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF- 8  rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE= us rd_NO_DM rhgb quiet
         initrd   /boot/initramfs- 2.6 . 32 - 358 .el6.x86_64.img

这时我们需要将光标移动到第二个选项,也就是Linux内核那里,同样按下键盘上的  e  键进入到编辑界面,此时我们在后面追加参数 1 或者参数 single就可以告诉Linux系统的内核,我需要以单用户的模式登陆该系统。

然后我们回车,进入到上层的界面,此时按下键盘上的  b  键就是启动操作系统,此时我们的Linux操作系统就是以单用户的模式登陆了。我们发现系统非常快速的就进入到了命令行模式下的界面,因为单用户模式是不会启动任何服务的,同时也不需要输入root密码,就能直接进入到root用户下,此时我们就可以通过passwd 命令来重置我们的root用户的密码

然后我们通过exit命令就可以退出单用户模式,此时操作系统内核就会根据我们之前看到的  /etc/inittab  配置文件中设置的默认启动级别来启动。

这样我们就可以通过在进入GRUB引导时在内核参数里面追加参数 1 或者 single 来进入单用户模式来修改我们的root用户密码。

但是,请注意,因为上面的操作只需要通过单用户模式就可以修改我们的root用户密码,所以说一旦别人有机会接触到我们的服务器主机,那么root用户的密码就很容易被别人修改了,这样当然是非常的不安全的,所以我们还是需要通过GRUB加密来对开启一层密码防护。

通过在 /boot/grub/grub.conf 启动配置中加入以下类似的代码来对grub进行加密:

password --md5 $ 1 $6H92B1$PzoPV63kTMk4uEhZQTAZ // 

其中后面那一串是MD5加密算法,这个我们可以通过  grub-md5-crypt  这个命令来生成加密后的算法

[root@xiaoluo ~]# grub-md5- crypt 
Password: 
Retype password: 
$  1 $UGA2B1$DriIdrVTEgVg95fHHX4H./ 
[root@xiaoluo  ~]# 

在上面的Password、Retype password那里输入我们需要设置的密码,然后就能生成MD5算法加密后的密码,我们将这个加密后的密码添加到

/boot/grub/grub.conf 这个配置文件里即可,例如:

[root@xiaoluo ~]#  vi  /boot/grub/ grub.conf   
password  --md5 $ 1 $UGA2B1$DriIdrVTEgVg95fHHX4H./ 

# grub.conf generated by anaconda
#
# Note that you   do  not have to rerun grub after making changes to this  file  
# NOTICE:  You   do  not have a / boot partition.  This means that
#          all kernel and initrd paths are relative to  / , eg.
#          root (hd0,  1  )
#          kernel  /boot/vmlinuz-version ro root=/dev/ sda2
#          initrd  /boot/initrd-[generic- ]version.img
#boot =/dev/ sda
default = 0  
timeout = 5  
splashimage =(hd0, 1 )/boot/grub/ splash.xpm.gz
hiddenmenu
title CentOS (  2.6 . 32 - 358  .el6.x86_64)
        root (hd0,  1  )
        kernel  /boot/vmlinuz- 2.6 . 32 - 358 .el6.x86_64 ro root=UUID=6e24ec7a-2d19-466e-bacc-92750b1f4bef rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF- 8  rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE= us rd_NO_DM rhgb quiet
        initrd  /boot/initramfs- 2.6 . 32 - 358 .el6.x86_64.img

这个时候我们再次重启一下系统,试着进入到GRUB里面来看看,

我们发现下面的英文提示已经变了,之前可以按键盘上的  e  键进入到GRUB里面,现在按  e  键已经没用了,此时提示我们按  p  键来输入GRUB的密码才能进入到GRUB里面

此时我们输入之前设置的GRUB密码即可,然后界面就会进入到我们熟悉的修改GRUB那里了。

所以说通过GRUB的加密算法我们可以对进入GRUB进行加密,这样就能防止别人恶意进入单用户模式,从而修改root密码了!!

当然,如果我们连这个GRUB的秘密都忘记的话,并且又忘记了root密码,那就真的不能登陆到root用户了。。。。

 

本篇随笔主要记录了如何通过单用户模式来修改root用户的密码,并通过设置grub的MD5加密算法来对进入grub进行加密,从而限制别人轻易进入单用户模式,在以后的学习Linux过程中,将继续记录学习Linux的心得!!!!

 您可以通过点击   右下角   的按钮 来对文章内容作出评价, 也可以通过左下方的   关注按钮   来关注我的博客的最新动态。 

如果文章内容对您有帮助, 不要忘记点击右下角的   推荐按钮   来支持一下哦   

如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我:   501395377 @qq.com  / lzp501395377@gmail.com

Linux

 

Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

摘要: 本篇随笔主要介绍了在Linux下如何通过单用户模式来修改root用户的密码,以及通过设置grub的MD5加密算法来对进入grub进行加密,从而限制别人轻易进入单用户模式。。。 阅读全文

posted @  2013-05-19 21:54  xiaoluo501395377 阅读(248) |  评论 (0)   编辑

 

Linux学习之CentOS(二十一)--Linux系统启动详解

摘要: Linux系统启动详细解释 阅读全文

posted @  2013-05-19 15:31  xiaoluo501395377 阅读(427) |  评论 (7)   编辑

 

Linux学习之CentOS(二十)--CentOS6.4下修改MySQL编码方法

摘要: CentOS6.4下修改MySQL编码方法。。。 阅读全文

posted @  2013-05-14 15:22  xiaoluo501395377 阅读(86) |  评论 (0)   编辑

 

Linux学习之CentOS(十九)--Linux下文件的压缩与打包

摘要: 在Linux中,有很多的压缩命令。利用这些压缩命令,可以方便的从网络上下载大型的文件。同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆,会对这些命令所压缩的文件进行一些特殊的命名方式。本篇随笔将主要记录一下Linux系统常见的压缩命令。 阅读全文

posted @  2013-04-26 20:33  xiaoluo501395377 阅读(738) |  评论 (2)   编辑

 

Linux学习之CentOS(十八)--与Linux文件和目录管理相关的一些重要命令②

摘要: 在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux。在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Linux文件和目录管理相关的一些重要命令,包括 目录与路径相关的命令(cd、pwd、mkdir、rmdir等)、管理文件与目录的命令(ls、cp、rm、mv等)、查看文件内容命令(cat、more、less等),在这一篇随笔中,将继续详细记录与Linux文件和目录管理相关的其他一些重要命令。 阅读全文

posted @  2013-04-26 00:19  xiaoluo501395377 阅读(633) |  评论 (0)   编辑

 

Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令①

摘要: 我们都知道,在Linux系统中,基本上任何我们需要做的事都可以通过输入命令来完成,所以在Linux系统中命令非常的多,我们不可能也没必要记住所有的这些命令,但是对于一些常用的命令我们还是必须要对其了如指掌的。 当然,即使这样,我们需要掌握的常用的命令也有百余条之多,我们难道就专门针对这百余条常用的命令来对其进行死记硬背吗?就像在学java时,我们学习其23种设计模式一样,我们不能单纯为了只是为了学习那23种设计模式而去学习,我们更重要的是学习这些模式,然后在实际项目中多去用它。在学习23种设计模式时,当然不推荐花几天时间就死死地抱着那23种模式去硬啃,这样不科学而且学完后又容易忘。所以我之前在学习设计模式时,是根据在学习java的每个知识点时需要用到了什么模式,然后再去有针对性的学习一种设计模式。例如我在学习集合时,对于Set(TreeSet)、Map(TreeMap)这块,其用到了策略模式,所以此时我就去单学习策略模式,然后再回过头来看一下集合这块它是怎么使用策略模式的。又比如在学习Swing/AWT时,我们用到了观察者模式,所以此时我就先学习了观察者模式的定义,然后实现自己的 阅读全文

posted @  2013-04-21 14:19  xiaoluo501395377 阅读(831) |  评论 (3)   编辑

 

Linux学习之CentOS(十六)--Linux文件类型及目录配置

摘要: 我们知道Linux系统最主要的特点之一就是——Linux系统是多用户、多任务的操作系统。 何为多用户?就是同一个Linux系统上,我们可以有多个用户同时登陆上去对其进行操作。何为多任务?简而言之就是如果在系统上同时运行多个应用程序时,系统并不会在每次执行完一个程序以后再执行下面的程序,在多任务的操作系统下,cpu会对要执行的程序进行调度,例如在某段时间里执行这个程序,过段时间cpu又被分配到执行其他程序,这样直到最后,多个应用程序都会执行完毕,在多任务下,cpu就是这样通过调度来不断执行应用程序,这样就大大提高了cpu的使用率。 阅读全文

posted @  2013-04-20 20:53  xiaoluo501395377 阅读(545) |  评论 (1)   编辑

 

Linux学习之CentOS(十五)--Linux常用命令之bc、man、shutdown...

摘要: 纵观之前的14篇Linux学习系列随笔,基本上是学习了Linux的一些常用命令,以及如何在Linux下进行j2ee环境搭建等知识,应该说并没有深入到Linux的学习当中,也没有找一本Linux的书籍来细看,所以从这篇随笔开始,自己准备好好地跟着Linux的书籍或者其他资料来深入的了解、学习Linux。为此,特地从图书馆借来了一本书,这本书应该也是Linux学习的入门书籍了--《鸟哥的Linux私房菜--基础学习篇》,现在就先从基础学习篇开始学习啦,后续还会继续学习服务器篇。。。 阅读全文

posted @  2013-04-20 00:27  xiaoluo501395377 阅读(725) |  评论 (0)   编辑

 

Linux学习之CentOS(十四)--初识ssh

摘要: SSH(Secure Shell的缩写),由 IETF 的网络工作小组(Network Working Group)所制定。ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1。目前实现SSH1和SSH2协议的主要软件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 软件。前者是OpenBSD组织开发的一款免费的SSH软件,后者是商业软件,因此在linux、FreeBSD、OpenBSD、NetBSD等免费类UNIX系统种,通畅都使用OpenSSH作为SSH协议的实现软件。 阅读全文

posted @  2013-04-08 21:58  xiaoluo501395377 阅读(699) |  评论 (4)   编辑

 

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

摘要: 说到数据库,我们大多想到的是关系型数据库,比如mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的。 阅读全文

posted @  2013-04-07 00:51  xiaoluo501395377 阅读(1141) |  评论 (1)   编辑

 

Linux学习之CentOS(十二)--crontab命令的使用方法

摘要: crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。 在Linux系统中,Linux任务调度的工作主要分为以下两类: 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 阅读全文

posted @  2013-04-06 16:41  xiaoluo501395377 阅读(841) |  评论 (4)   编辑

 

Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置

摘要: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出结果,还花了我整整1天1夜的时间,最后实在是熬不住了,想通过yum来重新进行Samba服务器的安装与配置,但是要使用yum首先必须是CentOS要联网,而我又没有找到Samba的rpm包,而之前一直没有搞定在虚拟机中的CentOS上网的问题,所以新的纠结又开始了。。。。。。 阅读全文

posted @  2013-04-06 00:57  xiaoluo501395377 阅读(1046) |  评论 (2)   编辑

 

Linux学习之CentOS(十)--虚拟机下的CentOS如何上网

摘要: 这篇随笔应该说跟CentOS的学习关系不是很大,但是却关系到了我接下来的CentOS学习。。。。。。 阅读全文

posted @  2013-04-05 19:43  xiaoluo501395377 阅读(822) |  评论 (1)   编辑

 

Linux学习之CentOS(九)--Linux系统的网络环境配置

摘要: Linux下对网络环境进行配置的三种方法 阅读全文

posted @  2013-04-05 15:37  xiaoluo501395377 阅读(756) |  评论 (2)   编辑

 

Linux学习之CentOS(八)--Linux系统的分区概念

摘要: 硬盘的分区主要分为基本分区(Primary Partion)和扩展分区(Extension Partion)两种,基本分区和扩展分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说 它必须还要进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),况且逻辑分区没有数量上限制。 阅读全文

posted @  2013-04-03 00:13  xiaoluo501395377 阅读(966) |  评论 (2)   编辑

 

Linux学习之CentOS(七)--CentOS下j2ee环境搭建

摘要: 因为是做j2ee后台开发的,所以在Linux上搭建j2ee环境是每一个java程序员所需要掌握的。所以这篇随笔主要记录一下j2ee环境搭建过程,包括jdk、tomcat、eclipse的安装,(对于mysql数据库的安装,将会在后面的随笔中记录)。 阅读全文

posted @  2013-04-01 22:47  xiaoluo501395377 阅读(965) |  评论 (3)   编辑

 

Linux学习之CentOS(六)--CentOS下VMware-Tools安装

摘要: VMware-Tools 主要的功能就是让用户在虚拟机和真实系统之间实现无缝切换,这个功能很方便。当然VMware-Tools最主要是实现linux和windows的文件共享。 阅读全文

posted @  2013-04-01 20:26  xiaoluo501395377 阅读(218) |  评论 (0)   编辑

 

Linux学习之CentOS(五)--让我有些郁闷的mount命令

摘要: 在Linux系统中,如果要使用硬盘、光盘、软盘或MO盘等存储设备,必须先进行挂装(Mount)。当存储设备挂装完成之后,就可以将其作为一个目录来进行访问了。 阅读全文

posted @  2013-04-01 11:28  xiaoluo501395377 阅读(310) |  评论 (2)   编辑

 

Linux学习之CentOS(四)--Linux系统的启动级别

摘要: 对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等。但是通常我们刚安装完Linux系统,然后进去以后是图形的界面,(如果要切换到开发模式,使用快捷键Ctrl + F2即可),从开发模式返回到图形界面则使用快捷键(Ctrl + F1),或者在命令行里输入命令 startx 命令就可以切换到图形界面。 阅读全文

posted @  2013-04-01 09:36  xiaoluo501395377 阅读(736) |  评论 (0)   编辑

 

Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

摘要: 文件系统是Linux系统中最基础的一环,但是又是学习Linux系统必学的。。。 阅读全文

posted @  2013-04-01 00:47  xiaoluo501395377 阅读(865) |  评论 (0)   编辑

 

Linux学习之CentOS(二)--初识linux的一些常用命令

摘要: linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。 阅读全文

posted @  2013-03-31 23:12  xiaoluo501395377 阅读(1178) |  评论 (2)   编辑

 

Linux学习之CentOS(一)--CentOS6.4环境搭建

摘要: CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。 阅读全文

posted @  2013-03-31 19:10  xiaoluo501395377 阅读(1873) |  评论 (11)   编辑

 

 

分类:  Linux

标签:  linux ,  CentOS

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于单用户模式下修改Root用户的密码的详细内容...

  阅读:35次