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密码登录成功。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux学习之CentOS(二十二)--进入单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程.,我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab 这个文件我们就能看到: [root@xiaoluo ~]# cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # #

  • CentOS6.8单用户模式如何修改密码

    CentOS6.8单用户模式下修改密码,具体内容如下 1. 选择进入菜单menu界面,在开启系统出现如下界面时,按Esc键(只需按一下) 2. 然后进入到如下界面 3. 上图中红色矩形类的内容,按"a"键可以修改内核参数,所以按a键,然后进入一下界面 4. 添加"1",注意"1"前面用空格分开,然后按回车键 5.接着进入如下界面,输入passwd命令,修改密码,修改密码成功之后,重启之后需用新密码登录 以上就是本文的全部内容,希望对大家的学习有所

  • centos7 设置grub密码及单用户登录实例代码

    centos7与centos6在设置grub密码的操作步骤上有很大的差别,特此记录供以后查用 grub加密的目的: 防止不法分子利用单用户模式修改root密码 给grub加密可以采用明文或者加密的密文两种,建议使用加密的密文方式,两者操作步骤上相差不多,本文以加密的密文为例 一.设置grub加密 1.使用grub2-mkpasswd-pbkdf2命令创建密文(一定的保存记住自己设置的密码) 2.在/etc/grub.d/00_header 文件末尾,添加以下内容  (root 为单用户登录使用的

  • Java Web用户登录实例代码

    实现功能: 1.用户登陆.注销 2.利用session记录用户登陆信息 3.在JSP中展示已登陆用户信息 实现原理: 登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存:如果不一致就提示信息,并且返回登陆页面. 显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框. 注销很简单,就是清空session信息. 主要文件: 1.LoginAction:struts2的Action类,用于处理JAVA端的主要登陆和登出逻辑.

  • SpringMVC 实现用户登录实例代码

    SpringMVC的一个登陆小案例 准备工作 创建一个Dynamic Web Project(本人是Eclipse) 添加相关的jar包,构建路径 创建springMVC-servlet.xml,及完善web.xml 创建代码逻辑 目录结构如下 对于新手而言,有一个项目的完整的目录结构是多么幸福的一件事啊. 目录结构 个人建议:注意其中的springMVC-servlet.xml的位置.以及源代码包的名称. 代码实战 首先是大管家,web.xml: <?xml version="1.0&q

  • Linux忘记root密码进入单用户模式切换运行级别切换用户

    切换用户指令 su - 用户名 当高权限用户切换到低权限用户的时候不需要密码 反之低权限切换到高权限用户需要高权限用户的密码 用exit可以退出当前用户,回到上一个用户 而且它的退出是一层一层退出的: 增加用户组: groupadd 组名 删除用户组: groupdel 组名 增加用户时直接加上组: useradd -d 用户组 用户名 修改用户的组: usermod -g 用户组 用户名 用户和组的相关文件 /etc/passwd 文件:用户(user)的配置文件,记录用户的各种信息 每一行的

  • laravel 5.3 单用户登录简单实现方法

    需求描述 当前用户只能在一个地方登录,即同一账号不能再2个以上窗口登录,后登录者踢出前登录者. 设计思路 在用户数据表中新增1个字段,记录当前登录用的session_id,当用户登录的时候把session_id存储到数据库中,然后在中间件认证里加判断,判断当前用户sesson_id是否和数据库中的session_id相等,如果相等继续向下执行,反之注销登录. 具体实现 1.首先在用户表中新增字段last_session,类型CHAR 40长度 2.在AuthController 控制器中实现父类

  • Django实现单用户登录的方法示例

    最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了.今天由于工作需求,需要用Django实现单用户登录.大概意思就是跟QQ一样的效果,每个账号只能一个地方登录使用,限制账号的登录次数.由于用的是Django自带的认证,然后校验用户是否登录其实就是通过Session实现的.下面就简单分享一下怎么实现的吧. 单用户登录实现 在做用户登录认证的时候Django自带的有is_authenticated()方法.下面就是一个简单的认证过程. if request.user.is_auth

  • Java用户登录验证代码

    废话不多说了,关键代码如下所示: import java.util.*; public class Demo04 { public static void main(String[] args){ //声明变量 String root="jim";//用户名 int passwd=123456;//密码 int time=0;//循环次数 int sum=0;//总计次数 Scanner input=new Scanner(System.in);//获取键盘输入 //for循环内 fo

  • Python基础练习之用户登录实现代码分享

    python版本为python3.5 1.要求 1)输入用户名密码 2)认证成功后显示欢迎信息 3)输错三次后锁定 2.需求分析 1)用户信息存储在文件中(login/config/user_login.txt) 2)用户输入用户名和密码 3)判断用户名是否存在,存在则继续,不存在则提示继续输入 4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续 5)匹配文件中的用户信息 6)如果匹配则打印出欢迎信息 7)如果输入3次密码错误,则锁定该用户名(login/config/name_

  • Oracle 11g用户修改密码及加锁解锁功能实例代码

    1.运行 cmd.exe: 2.输入 sqlplus / as sysdba,以系统管理员(sysdba)身份连接数据库,进行数据库管理操作. 3.连接成功后执行 alter user identityName identified by password; -–修改密码 alter user identityName account unlock; -–解锁 alter user identityName account lock; -–加锁 identityName:需要修改的用户: pas

  • Java web含验证码及权限登录实例代码

    所用到的开发工具为myeclipse10,MySQL数据库. 首先,在myeclipse中新建一个Java web项目. 项目的结构: 数据库结构: 下面将各个包中的代码粘贴出来. com.ningmeng.dao包 package com.ningmeng.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExcept

随机推荐