忘记了Linux账户密码怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了忘记了Linux账户密码怎么办?相关的知识,希望对你有一定的参考价值。

    在现代的社会,需要记住的用户和密码实在是太多了,都设置成一样又不安全,记在电脑上或纸上也不安全了。思来想去还是记在脑海里吧,然后导致很久没用过的主机忘了密码。不过没关系,我们可以借助技术重新设置密码。

    

这里以CentOS 6.7为例:

    密码我还真的忘了,不过没关系,咱有办法

技术分享

    

    1.在系统加载内核的时候,按"e"键进入grub界面 

技术分享

    

    2.再按"e"键编辑grub菜单

技术分享


    3.选择"kernel",按"ENTER",在后面附加1, s, S或single都可以,然后确定,在按"b"键启动单用户模式

技术分享


    然后我们就可以愉快的修改root密码了


为什么这样就能修改密码了呢?我们还得在深入了解一下grub


1. grub的功用

    (1) 提供菜单、并提供交互式接口

e: 编辑模式,用于编辑菜单;

c: 命令模式,交互式接口;

(2) 加载用户选择的内核或操作系统

允许传递参数给内核

可隐藏此菜单

(3) 为菜单提供了保护机制

为编辑菜单进行认证

为启用内核或操作系统进行认证


2. grub程序阶段

    stage1: 位于mbr的bootloader

stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统

stage2:磁盘分区(/boot/grub/)


3. grub命令行接口

    help: 获取帮助列表

help KEYWORD: 详细帮助信息

find (hd#,#)/PATH/TO/SOMEFILE:

root (hd#,#) 设定grup的根设备

kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;

例如:init=/path/to/init, selinux=0 禁用内核中的selinux功能

initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;

boot: 引导启动选定的内核;


一般我们系统都是默认加载grub配置信息的,同样我们也可以手动启动

    手动在grub命令行接口启动系统:

grub> root (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot


4. 配置文件

/boot/grub/grub.conf配置项:

default=#: 设定默认启动的菜单项;落单项(title)编号从0开始;

timeout=#:指定菜单项等待选项选择的时长;

splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;

hiddenmenu:隐藏菜单;

password [--md5] STRING: 菜单编辑认证;

title TITLE:定义菜单项“标题”, 可出现多次;用来引导多个内核或者操作系统

    root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub的“根”; 

    kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核

    initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件;

    password [--md5] STRING: 启动选定的内核或操作系统时进行认证


5. 安装grub

(1) grub-install 将grup安装在磁盘上

    grub-install --root-directory=ROOT /dev/DISK

(2) grub 直接通过命令行进入grup模式 

grub> root (hd#,#)

grub> setup (hd#)




    那么当我们/boot/grub/grub.conf配置项中,设置了grub密码和启动系统的密码,这个时候突然又忘记了,我们应该如何解决呢?


    这个时候grub都进不去了,我们只有借助系统盘进入救援模式了。首先进入"Bios"设置光盘优先启动。

    然后选择第三个,救援模式

技术分享



    依次下一步,然后

技术分享


    然后启动shell

技术分享


    这样我们就可以在命令行修改配置文件了,将那两行密码,删掉就OK了

    

技术分享



本文出自 “Linux运维之路” 博客,请务必保留此出处http://ch666.blog.51cto.com/10870222/1757343

以上是关于忘记了Linux账户密码怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

linux忘记root密码怎么修改密码和多台linux相互使用密钥连接

linux忘记root密码怎么修改密码和多台linux相互使用密钥连接

CentOS初始登录账户和密码是多少

IBM服务器上装了ubuntu12.04 忘记了root密码,普通用户的账户密码也忘了,该如何找回root密码?

VMware虚拟机安装Linux后忘记root密码怎么办?

忘了Ubuntu装在哪个盘了