现在的位置: 首页 > 综合 > 正文

深解CentOS系统单用户模式

2013年02月16日 ⁄ 综合 ⁄ 共 2512字 ⁄ 字号 评论关闭

     通常,CentOS系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务。但是一旦,系统管理员需要进行系统维护或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了。

  使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式。

         特注:进入单用户模式,没有开启网络服务,不支持远程连接

 

  CentOS系统中不同的运行级别(Run Level)代表了系统的不同运行状态,例如 Linux
服务器
正常运行时处于运行级别3,是能够提供网络服务的多用户模式;而运行级别 1 只允许管理员通过服务器主机的单一控制台进行操作,即“单用户模式”。

 

  以CentOS系统为例:  CentOS系统进入单用户模式

 

  进入单用户模式的前提是CentOS系统引导器能正常工作。下面以 GRUB 为例说明进入方法。

       在 GRUB 启动菜单里有“a”、“e”和“c”三个操作按键,使用这三个按键均可进入单用户模式。

  使用“a” 操作按键进入单用户模式---推荐:简单操作

  这是CentOS系统进入单用户模式最快速的方法。

在 GRUB 启动菜单里使用 “a” 操作按键编辑 kernel 参数,在行末输入 single ,以告诉 Linux 内核后续的启动过程需要进入单用户模式,回车即可。

 

  进入单用户模式之后

  当CentOS系统进入单用户模式时,不需要输入用户名和口令,CentOS系统启动完成后将直接获得管理员 root 的权限,控制台的提示符为“#”。

 

  单用户模式下的控制台界面

  在上面的启动信息中有一条信息很关键:

   Remounting root filesystem in read-write mode:[OK]  表示此时单用户模式下的根文件CentOS系统处于可读可写状态。

 只有根文件系统是可读写的,CentOS系统管理员才能对系统进行维护。

若系统的配置与脚本文件出现错误,单用户模式下的根文件系统进入“read-only file system”只读状态,

此时,可以使用如下命令以读写方式重新挂装根文件系统:

  sh-3.1 # mount -o remount rw -t ext3 /

 

  当 CentOS系统进入单用户模式后,由于已经停止了任何网络服务和网络配置(网络接口无效),不会有任何其他人(通过网络)干扰CentOS系统的运行状态,管理员可以放心的对CentOS系统进行系统级别的维护操作。

 

在单用户模式下 CentOS系统除了不具备网络功能外,是功能完整的操作系统。在单用户模式下可以进行如下的维护和管理工作:

  

      重新设置超级用户口令

  维护CentOS系统的分区、LVM 和文件系统等

  进行CentOS系统的备份和恢复

  

单用户模式的一个典型应用是 root 用户的“口令设置”。对于一些临时使用或实验用途的 CentOS系统(如学生实验室),经常会更换使用者,而 root 用户的口令可能会被遗失,这时可以进入单用户模式更改 root 用户的口令。

  sh-3.1 # passwd

  Changing password for user root.

  New UNIX password:

  Retype new UNIX password:

  passwd: all authentication tokens updated successfully.

当CentOS系统进入单用户模式后,在“#”提示符下执行 passwd 命令可以更新 root 用户的口令,

当CentOS系统重新启动后就可以使用已更新的口令以 root 身份登录系统了。

 

 

进入单用户模式的界面如下:

一.在单用户模式下利用passwd重置root密码

Linux系统可以运行在多种模式下,其中单用户模式下不需要输入密码即可进入系统。这时利用passwd重置root密码。

具体操作步骤如下:

  1. 当系统启动时,按回车键进入系统选项菜单界面。按“e”键进入菜单编辑状态。

(用上下光标键选择要启动的系统,按回车键直接启动系统,

   按“e”键对启动命令进行编辑,

   “a”键修改内核的启动参数

   “c”键进入GRUB命令行 )

 

2.屏幕列出了目前系统启动时可用的命令选项,选择“kernel”这一行,并按“e”键进入命令行编辑状态。

在行末输入single,设定系统以单用户模式启动并回车(注意:single前面加空格),这时就可以按b”键启动系统。

(其中按“b”键启动该命令行,按“o”键在选定命令行下添加一行,按“d”键删除选定行,Esc返回主菜单)

 

3.等系统成功启动后,就可以使用passwd root重置root密码。

好了,现在就可以reboot了,以新密码登录试试。

二、修改root密码的第二种方式

由于linux下用户名与密码是分开存放的,分别对应的是/etc/passwd,/etc/shadow这两个文件。用户登录时先读取/etc /passwd这个文件,再去读取/etc/shadow判断当前登录用户的密码是否正确。这就是linux在密码保护方面采用的Shadow Passwords及MD5密码保护功能,即影子密码。

这样在/etc/passwd这个文件中,密码的位置用“x”来标识。

我们就可以以linux resuce模式,来删除/etc/passwd文件中root用户对应的密码“x”,让root用户密码至为空,获得root权限。详细步骤如下:

1.用光盘引导系统,并在启动选项中按F5键选择linux rescue模式

2.输入:linux rescue并回车

3.选择默认语言English并回车

4.选择默认键盘类型us并回车

5.配置网络:选择no并回车

6.选择continue并回车

7.提示运行:chroot /mnt/sysimage获得root权限。直接回车

8.执行:chroot /mnt/sysimage

9.用vi编辑/etc/passwd文件,删除root对应的密码字段并存盘退出

好了,该到reboot的时候了。试试吧,这时是不是root不用输入密码就可以登录。

 

 

 

抱歉!评论已关闭.