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)。
- 【陆勤创业】德鲁克:如何管理自己?
- 基于FPGA的非线性滤波器(三)
- Mesos+Marathon+Docker构建docker集群化管理
- 【测试】两种数据库,四种分页算法的效率比较
- 【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式
- 【实体类变形】—— 元数据(另类ORM) 描述字段的数据
- 【陆勤践行】奇异值分解 - 最清晰易懂的svd 科普
- 快速自检电脑是否被黑客入侵过(Linux版)
- 【陆勤践行】机器学习中距离和相似性度量方法
- 运维工作常用的shell命令
- SVN搭建指南
- python3 源码编译并配置jupyterhub
- 【小试身手】几个自定义控件的组合应用,实现简单的“增删改查”功能(有源码)
- 如何手动给Docker容器设置静态IP
- 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 数组属性和方法
- linux中ssh免密通信的实现
- 怎么修改CentOS服务器时间为北京时间
- Laravel5.1 框架控制器基础用法实例分析
- Laravel5.1 框架模型软删除操作实例分析
- Laravel 手动开关 Eloquent 修改器的操作方法
- 怎么测试Linux下tcp最大连接数限制详解
- Laravel 5.1 框架Blade模板引擎用法实例分析
- 使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
- Linux 系统下安装JDK1.8的教程详解
- php学习笔记之字符串常见操作总结
- Laravel5.1 框架模型工厂ModelFactory用法实例分析
- 关于AIX挂载NFS写入效率低效的解决办法
- Linux系统下部署项目的设置办法
- PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
- ubantu 16.4下Hadoop完全分布式搭建实战教程