背景
一旦忘记root密码,就无法执行任何面向整个系统的变更工作。不过Linux中和容易使root账户重置密码。具体方法如下。
任何人不需要密码都能进入GRUB编辑模式,这具有相当大的安全隐患,为此可以设置GRUB口令,只有拥有口令的用户才能修改GRUB参数。方法是修改GRUB配置文件,设定密码,以防止非法者进行GRUB编辑。
一、重置root密码
方法步骤如下
(1)启动系统进入GRUB2界面后,按下<e>键进入GRUB编辑模式。
(2)按向下箭头找到以Linux开头的那一行,在行尾先输入一个空格,再输入“rd.break console=tty0”。
(3)按<Ctrl+x>组合键启动系统。
(4)执行以下命令重新挂载文件系统。
mount -o remount,rw /sysroot
(5)执行以下命令改变系统目录为临时挂载目录。
chroot /sysroot
(6)执行passwd命令修改root密码。
(7)在根目录下创建相关文件(用于重新标记SELinux环境值):
touch /.autorelabel
(8)执行exit命令退出chroot环境,再执行exit重启系统。
如果在VMWare虚拟机上操作不成功,可以尝试将linux16开头那一行中的“rhgb quiet”先删除。
rd.break 这种方法一般用于修改root密码或者出现重大问题,临时中断运行,未装载任何文件系统,比上述救援模式还要精简。
如果使用rd.break不能进入系统启动,则可以像内核传递“init=/bin/.bash”或“nit=/bin/sh”参数,使用shell替代默认的daemon进程来重置root密码,进入shell引导界面,在进行以下步骤。
(1)执行以下命令以可写方式重新挂载根目录:
mount -o remount,rw/
(2)执行以下命令修改root密码:
passwd root
(3)如果系统启动了SELinux,必须执行以下命令,否则将无法正常启动系统:
touch /.autorelabel
(4)执行exec /sbin/init命令启动系统,或者执行exec /sbin/reboot命令重启系统。
二、设置GRUB密码
方法步骤如下
设置明文密码
(1)编辑/etc/grub.d/00_header文件,在末尾添加以下内容后保存该文件:
cat << EOF
set superusers='admin'
password admin 123456
EOF
(2)执行grub2-mkconfig命令重新生成grub.cfg文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
(3)重新启动系统,在GRUB开始界面中按下<e>键进入GRUB编辑模式,输入用户和密码。
设置密文密码
GRUB可以对这个密码进行加密,具体方法是使用工具grub2-mkpasswd-pbkg2生成加密的密码:
grub2-mkpasswd-pbkdf2
然后将/etc/grub.d/00_header文件中的password语句 中的密码更换成上述以grub.pbkdf2.sha开头的密文。最后执行grub2-mkconfig命令重新生成grub.cfg文件。
总结
需要注意的是,重置root密码是一个敏感且重要的操作,应该谨慎进行。在重置密码之前,最好备份相关的配置文件和数据,以防万一出现意外情况。同时,新密码的选择也应该遵循一定的安全规范,如足够复杂、不易猜测等,以提高系统的安全性。
需要注意的是,GRUB密码的设置应该谨慎进行,确保密码的复杂性和安全性。同时,管理员应该定期检查和更新GRUB密码,以适应不断变化的安全环境和用户需求。
总之,重置root密码在保护系统安全、解决登录问题以及进行系统维护等方面发挥着重要作用。然而,进行此操作时需要谨慎,并确保新密码的安全性和可靠性。同样,设置GRUB密码是增强系统安全性、防止误操作以及管理多系统引导的有效手段。通过合理设置和使用GRUB密码,可以提高计算机系统的整体安全性和稳定性。