centos7 设置grub密码及单用户登录实例代码
时间:2022-07-27
本文章向大家介绍centos7 设置grub密码及单用户登录实例代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
centos7与centos6在设置grub密码的操作步骤上有很大的差别,特此记录供以后查用
grub加密的目的: 防止不法分子利用单用户模式修改root密码
给grub加密可以采用明文或者加密的密文两种,建议使用加密的密文方式,两者操作步骤上相差不多,本文以加密的密文为例
一.设置grub加密
1.使用grub2-mkpasswd-pbkdf2命令创建密文(一定的保存记住自己设置的密码)
2.在/etc/grub.d/00_header?文件末尾,添加以下内容? (root 为单用户登录使用的用户名,第三行root后面为上一步加密后得到的密文,注意root和密文之间是空格隔开的不是换行符)
cat <<EOF
set superusers='root'
password_pbkdf2 root grub.pbkdf2.sha512.10000.B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A
E0F
3.重新编译生成grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg
设置完成。
二.重启使用单用户登录测试
1.reboot进入gurb界面
2.按e
3.这个时候需要我们输入我们设置的进入gurb的用户名和密码进入grub(看到这个界面说明我们已经设置grub加密生效了)?,输入正确后会进入到以下的界面
4.编辑修改两处:ro改为rw, 以及在该行的最后面添加init=/bin/sh
5.ctrl+x 启动单用户模式进入系统
6.修改root密码
7.如果selinux是开启着的则需要执行以下命令更新系统信息,否则重启之后密码未生效
touch /.autorelabel
8.重启系统
exec /sbin/init
使用修改后的root密码登录成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网站事(zalou.cn)。
- 【LEETCODE】模拟面试-84-Largest Rectangle in Histogram
- Docker系列教程11-使用Nexus管理Docker镜像
- Mac 配置终端环境
- 【LEETCODE】模拟面试-101-Symmetric Tree
- Docker系列教程10-使用Docker Registry管理镜像
- webapp开发调试环境--weinre配置
- AWK 深入浅出教程
- Docker系列教程09-使用Docker Hub管理镜像
- C++11基础学习系列一
- 触屏touchstart 与 click
- Linux DNS之dig利器
- Docker系列教程08-Dockerfile实战
- VirtualBox和Vmware安装增强功能
- 事件委托与阻止冒泡
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法