CentOS单用户模式下修改ROOT密码和grub加密

Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务。如果系统管理员需要进行系统维护或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了。 使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式。 特注:进入单用户模式,没有开启网络服务,不支持远程连接

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

以centos为例:

进入单用户模式

进入单用户模式的前提是系统引导器能正常工作。下面以 GRUB 为例说明进入方法。在 GRUB 启动菜单里有“a”、“e”和“c”三个操作按键,使用这三个按键均可进入单用户模式。

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

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

CentOS单用户模式下修改ROOT密码和grub加密

方法2、使用 “e” 操作按键进入单用户模式

在 GRUB 启动菜单里使用 “e” 操作按键进入 CentOS 的启动菜单向界面 ,移动光标至“kernel”配置项一行,如图所示。

CentOS单用户模式下修改ROOT密码和grub加密

将光标定位到 kernel 菜单项

按 “e” 键编辑 “kernel” 菜单项,在行末输入 single ,以告诉 Linux 内核后续的启动过程需要进入单用户模式。


kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot 更改为
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot single

更改后按回车返回 CentOS 启动菜单项界面,如图所示。

CentOS单用户模式下修改ROOT密码和grub加密

最后按 “b” 键使用更改后的 CentOS 启动菜单项启动单用户模式。

方法3、使用 “c” 操作按键进入单用户模式

这是进入单用户模式最麻烦的方法,通常不使用这种方法进入单用户模式,此处旨在熟悉 GRUB 命令行界面操作。在 GRUB 启动菜单里使用 “c” 操作按键进入 GRUB 命令行界面。分别使用 GRUB 下的 root 、kernel(在行末输入 single)、initrd 命令指定启动参数,最后使用 boot 命令启动到单用户模式,如图所示。

CentOS单用户模式下修改ROOT密码和grub加密

从 GRUB 命令行界面进入单用户模式

---------------------------------------------------------------------

进入单用户模式之后

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

CentOS单用户模式下修改ROOT密码和grub加密

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

在上面的启动信息中有一条信息很关键:
Remounting root filesystem in read-write mode:[OK]

表示此时单用户模式下的根文件系统处于可读可写状态。只有根文件系统是可读写的,系统管理员才能对系统进行维护。若系统的配置与脚本文件出现错误,单用户 模式下的根文件系统进入“read-only file system”只读状态,此时,可以使用如下命令以读写方式重新挂装根文件系统:

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

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

  • 重新设置超级用户口令

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

  • 进行系统的备份和恢复

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

sh-3.1 # passwd Changing password for user root. New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

当系统进入单用户模式后,在“#”提示符下执行 passwd 命令可以更新 root 用户的口令,当系统重新启动后就可以使用已更新的口令以 root 身份登录系统了。

------------------------------------------grub加密

如果禁止进入单用户,首先要对GRUB进行密码配置,只需要修改/boot /grub/grub.conf或者 /etc/grub.conf(/etc/grub.conf是/boot/grub/grub.conf的符号链接),例如:vi /boot/grub/grub.conf进入配置文件编辑 。

这里我们介绍个方法,给grub加个密码,增禁止他人以单用户模式进入系统. 有2个方式:

1、明文方式

在splashimage这个参数下一行添加: password=密码。保存后重新启动计算机,再次登录到GRUB菜单页面的时候就会发现, 这时已经不能直接使用e命令编辑启动标签了,须先使用p命 令 ,输入正确的密码后才能够对启动标签进行编辑.但是我们设置了明文密码也不是很安全的.如果他人得到了明文密码后仍然可以修改GRUB启动标签从而修改 root密码.

2、MD5加密方式

在终端中输入grub-md5-crypt回车,这时系统会要求输入两次相同的密码,之后系统便会输出MD5码。大家只需要将生成的MD5密文复制下来, 在splashimage这个参数下一行添加:

password --md5 $1$AKO18/$7EaafQPtx.7y2UdZyL5cp0                       //centos的md5

hiddenmenu

保存后重新启动计算机,再次登录到GRUB菜单页面的时候就会发现, 这时已经不能直接使用e命令编辑启动标签了,须先使用p命令,输入正确的密码后才能够对启动标签进行编辑。

上一篇:Java对象的内存布局


下一篇:DB2 license过期的问题