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密码登录成功。
以上就是本文的全部内容,希望对大家的学习有所帮助。
- weblogic安全配置二三事
- 开发自己的Data Access Application Block[下篇]
- 【CSS】格仔背景
- 这年头真的还有USB设备是安全的吗?
- js的动态加载、缓存、更新以及复用(一)使用范围:遇到的问题:目标:页面结构:正文
- js的动态加载、缓存、更新以及复用(二)恼人的命名冲突
- 以【猫叫、老鼠跑、主人醒】为例子,使用 javascript 来实现 观察者模式 (有在线演示)
- Debian/Ubuntu-shell脚本来管理iptables安全策略
- Pegasus间谍套件内部原理及流程剖析
- 用node.js实现ORM的一种思路
- iOS“远程越狱”间谍软件Pegasus技术分析
- 学习HTML5之表单
- 基于jQuery的ajax对WebApi和OData的封装我们还是先来看看要求在看看目标:思路封装方式
- js的动态加载、缓存、更新以及复用(四)
- 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 数组属性和方法
- 使用ABAP代码生成二维码(QR Code)
- 动态加载 ExtJS 类库
- Visual Studio 2013 下 NuGet 无法识别自定义包路径的解决方法
- Xcode 5 中 xib 文件格式的调整
- 调用新浪微博显示用户信息
- 如何用代码动态生成ABAP类型
- 使用自签名证书内部分发 iOS7 应用
- 在 MvvmCross 下使用 iOS Storyboard
- 动态隐藏某些特殊类型的SAP CRM附件
- 设计模式之生成器模式
- Git 客户端保存用户名和密码
- SAP WebClient UI component模型元数据解析工具
- 设计模式之抽象工厂模式
- 测试面试题集锦(四)| Linux 与 Python 编程篇(附答案)
- 设计模式之代理模式