linux单用户模式修改root密码、grub密码设定和救援模式修改root密码

linux管理员在接管新服务器的时候,有一个常见的问题就是root密码的重置。如root密码长时间不用,或者接管一个陌生的服务器,需要用到单用户模式来重置root的密码。

以下内容是虚拟机VMware11下的centos 6.6版本的介绍:

一、单用户模式修改root密码:

1. 开机显示3s内按任意键,进入选择模式,随便按一个键:

wKiom1YwYPrzqLnEAABmlnl7ox4492.jpg

2. 根据提示,点字母e进入编辑模式。

wKioL1YwYmyCK1bYAAD77tjROEE668.jpg

3. 光标选中第二项,再点字母e。

wKiom1YwYjiAatMNAAFzkuCdg34429.jpg

4. 进入编辑模式,在最后面加空格,输入1 、s 、S都可以,然后点击回车。再根据后续的提示点击字母b启动。

wKioL1YwYmyTDvggAAD1BeCoi8U970.jpg

5. 启动后的界面是这样的,不需要输入密码,直接进入了主机下面。输入命令passwd,即可修改root的密码了。

wKiom1YwYjjAnfn-AAClpxF1nQM445.jpg

遗憾的是,这个方法只能在本地服务器进行设置,云服务器由于是ssh登录,一旦reboot,自动与远端断开连接,无法实现这一操作。不过云服务器有很方便的重置密码的服务,这个问题就自然不难了。

二、grub密码的设置

有了单用户模式,那root密码的意义就不是很大了。那么怎么才能保证本地服务器root的密码不能随意被改动呢?下面介绍设置grub密码的方法,来给单用户等模式加一层防护,达到保护root密码的作用。

1. 明文加密

# vim /etc/grub.conf

在hiddenmenu下面添加一行:password=hhhggg。

wKioL1YwZJTTcZfdAAJevQacOVY247.jpg这样重启的时候,在3s内按e,会出现下面的提示:

wKioL1YwZUTSTgGsAAD9l5_PuPk317.jpg

必须要输入上面设定的hhhggg密码,才能进入下一步的单用户模式界面。这样比以前的方式要安全了许多。然而,明文密码毕竟还是不安全的,下面就介绍一下加密的密码方式来设置grub的密码。

2. 加密方式设置grub密码:

# man grub-crypt

wKioL1YwZx_hhUOEAAC-A4k0-oU182.jpg

可见有常用的3种方式来生成密钥。我们试一种,其他的方法同样适用。

输入命令:

wKioL1YwaI_Qaxw1AAAuUtEoVuU813.jpg

输入两遍密码,只要密码一致,生成一段密码文件。建议在ssh登录工具上面生成,因为可以复制。

wKiom1YwaF3AO4sbAABMlyjIXog931.jpg

编辑/etc/grub.conf,将原来的明文密码改成现在的密文密码,等号去掉,后面跟密码生成的格式。

wKioL1YwbXKDe5YIAABMGPgdoHU406.jpg

保存后,重启的时候,再进行操作就会提示需要输入密码才能进入grub。

其实,只要root密码泄露了以后,这些都是可以改的,所以,这些不是安全的最终要素。安全起见,root用户谨慎登录,密码不要用文件存放在自己的目录下面。平常不需要root权限的时候,以普通用户登录即可。

三、救援模式

当一台新的本地服务器,root密码不知道,grub又设置了密码的时候,怎么才能破解密码呢?这时候,我们用到了救援模式,它和windows的PE系统差不多,是一个内存系统。下面介绍的是vmware上面的操作方法。

1. 首先关闭linux系统,在电源选项里面选择最下面的:开机进入计算机硬件设置或者是bios相关的内容,vm的版本不同,显示的内容也不相同,但意思是一样的。

wKioL1YwdLCBgA2-AAFRb6zfXOE911.jpg

2. 选择cd-rom选项。用减号把其余选项下移,最终将它弄到第一位,F10重启。

wKiom1YwdHySxnHhAACpaRGzj10215.jpg

3. 选择第三个,回车。

wKioL1YwdLHx4Yh1AAEFQe1Ds_Q096.jpg

4. 默认点回车。关于显示语言,汉语不支持,选英语吧。

wKiom1YwdH2ytbmDAAEQDSJ611Q119.jpg

5. 默认回车,键盘的布局,常用美式键盘us。

wKioL1YwdLHRZ99BAAEGUQwmQYo265.jpg

6. 是否上网,改密不需要,tab键切换,选no。

wKioL1YwdMeB8kWbAAComtqrLMQ214.jpg

7. 挂载的格式,默认就好,continue。

wKioL1YwdMeiyIupAAIm8HF2DQE894.jpg

8. 提示我们原来的系统将被挂载到/mnt/sysimage下面,而我们可以用chroot /mnt/sysimage命令来切换到我们原来的系统,进行相关的密码修改操作。

wKiom1YwdJOTtftNAAEn5ShXYGs065.jpg

9. 默认ok。

wKioL1YwdMiABgcOAACsZ35wbjs369.jpg

10. 默认光标在第一个,ok即可进入shell。

wKiom1YwdJPhqOrlAADEb9ZzSh0312.jpg

11. 下面是shell界面

wKiom1YwdJPRxUp1AABlwuFPWrA905.jpg

12. # ls命令可以进入救援模式的目录。

wKioL1YwdMijDN9YAACSrriLxWA604.jpg

13. 如想浏览原来系统的目录,可以cd /mnt/sysimage下面,然后可以进行相关操作。

wKioL1YwdNziMr4vAABBRvhtWB0455.jpg

14. 重头戏,修改密码。执行上面提到的chroot /mnt/sysimage, 用passwd命令就能执行密码修改的操作了。

wKiom1YwdJWgEhwVAABcxLECPIs325.jpg

看来,只要是接触了服务器硬件,任何密码都是不靠谱的。还是认真管理机房吧,闲杂人等不允许随便踏入,机房是运维工作人员的天下。哈哈哈。。。

你可能感兴趣的:(安全)