Linux找回root账户密码的四种方法(非常详细)零基础入门到精通,收藏这一篇就够了

part1

点击上方蓝字关注我们

1.摘要

在 Linux 系统中,用户账户主要分为两类:具有最高权限的 root 用户和普通用户。在安装 Ubuntu 等 Linux 发行版时,安装程序会让我们为 root 用户设置密码,并同时创建一个拥有 sudo 权限的普通用户账户。在日常使用时,通常会使用普通账户,并在需要时通过 sudo 来执行特权操作。但如果时间久了,就可能会忘记最初的 root 账户密码,在需要时无法访问 root 账户。本文主要通过四种不同的场景来重置或找回root密码, 总有一款适合你。

2.利用sudo权限普通账号

在安装ubuntu系统过程中, 默认会要求创建一个普通账户,该账户拥有sudo权限, 如果是第一次登录系统没有设置过root账户密码或者忘记root账户密码, 可以通过登录该普通账户来修改root账户密码, 打开终端执行以下命令:

sudo passwd root

执行该命令后, 需要验证当前sudo用户账户密码, 并两次输入新的root密码, 即可完成重置, 如图:

现在可以执行su命令, 输入刚才设置的密码即可拥有管理员权限。

3.使用单用户模式重置密码

利用单用户模式重置密码, 有一个前提条件就是需要在系统启动时显示GRUB菜单, 但安装完ubuntu系统, GRUB菜单可能不会显示, 这时便无法完成使用单用户模式重置密码, 建议采用下面第3种方法来重置密码。

如果要让ubuntu系统在开机显示GRUB菜单, 需要登录ubuntu系统修改文件:

nano /etc/default/grub

打开该文件后, 可以看到如下参数选项:

需要将GRUB_TIMEOUT=0修改为:GRUB_TIMEOUT=10意思是显示10秒, 这个数值可以自定义设置, 另外, 要将GRUB_TIMEOUT_STYLE=hidden的内容替换成:GRUB_TIMEOUT_STYLE=menu, 修改后的参数选项如下图:

保存后, 再执行以下命令:

# update-grub

该命令将更新grub菜单选项, 如图:

重启系统, 开机按住shift键可以看到如下菜单, 如图:

选择Advanced options for Ubuntu,可以看到如下菜单:

选择带recovery mode字样的选项, 我这里显示有两个, 选择版本最高的, 也就是第二项, 接着按键盘e键, 可以看到以下内容:

选择前面带Linux字样的, 将ro recovery...后面的一串内容替换成: rm single init=/bin/bash, 替换后的内容如图:

按快捷键:Ctrl+X,系统会自动加载一个具有管理员权限的shell, 如图:

此时便可以完成root账户密码的重置操作, 如图:

4.LiveCD/USB方法重置密码

该方法首先需要准备一个Live CD或ubuntu系统的启动盘, 通过插入U盘来启动系统。

插入Live CD或U盘, 重启电脑并从Live CD/USB启动, 通常需要进入BIOS或启动菜单, 选择从USB/CD启动。

选择中文语言后选择"试用ubuntu", 注意,这里不要选择安装。

进入ubuntu桌面后, 按住快捷键:Ctrl+Alt+T打开终端, 首先在终端输入以下命令查找根文件系统所在分区:

sudo fdisk -l

假设根分区为:/dev/sda1, 则可以使用以下命令进行挂载:

sudo mount /dev/sda1 /mnt

挂载必须的文件系统:

sudo mount --bind /dev /mnt/dev  
sudo mount --bind /proc /mnt/proc  
sudo mount --bind /sys /mnt/sys

接着切换到挂载的文件系统:

sudo chroot /mnt

查找管理员用户名:

ls /home

然后直接输入passwd 管理员用户名命令重置密码即可。

最后exit退出chroot环境并reboot重启, 使用新的root密码登录系统。

5.破解shadow文件

John the Ripper是一个功能强大且灵活的密码破解工具,适用于各种密码破解需求。无论是进行密码恢复还是测试系统的密码安全性,John the Ripper都能提供有效的解决方案。

首先将目标Linux系统的两个文件: /etc/passwd和/etc/shadow文件提取出来,放到Kali Linux系统的对应目录下,然后使用以下命令将两个文件进行合并处理:

unshadow passwd shadow > testpasswd.txt

如图:

这样, 在当前目录会生成一个名为:testpasswd.txt文件, 现在,可以启用john工具进行密码破解了,命令如下:

john --wordlist=/usr/share/john/password.lst --format=crypt testpasswd.txt

其中:/usr/share/john/password.lst是密码字典文件,可以替换成自己的字典, 从下图可以看到,我的两个账号的密码已经成功破解,如图:

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

Linux 系统中,MySQL 数据库的 `root` 用户密码并不是直接存储在明文文件中,而是加密存储在 MySQL 的系统表中,具体是在 `mysql.user` 表的 `authentication_string` 字段中(适用于 MySQL 5.7 及以上版本)[^3]。这意味着无法直接查看密码明文,但可以通过以下方式管理或重置 `root` 用户的密码: ### 1. 忘记 `root` 密码时的重置方法 如果忘记了 `root` 用户的密码,可以通过跳过授权表的方式重置密码: #### 操作步骤: 1. **编辑 MySQL 配置文件** 打开 MySQL 的配置文件 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`,添加以下行以跳过权限验证: ```ini [mysqld] skip-grant-tables ``` 2. **重启 MySQL 服务** 使用以下命令重启 MySQL 服务以应用更改: ```bash systemctl restart mysql ``` 3. **无密码登录 MySQL** 此时可以无需密码直接登录 MySQL: ```bash mysql -u root ``` 4. **更新 `root` 用户密码** 根据 MySQL 版本,使用以下命令之一更新密码: - **MySQL 5.7 及以上**: ```sql UPDATE mysql.user SET authentication_string = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES; ``` - **MySQL 8.0 及以上**(使用 `ALTER USER` 命令): ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` 5. **恢复 MySQL 正常运行** 移除 `/etc/my.cnf` 中的 `skip-grant-tables` 行,并再次重启 MySQL 服务: ```bash systemctl restart mysql ``` ### 2. 查看 `root` 用户密码的加密值 如果需要查看 `root` 用户的加密密码(仅用于调试或迁移数据库),可以执行以下 SQL 查询: ```sql SELECT User, Host, authentication_string FROM mysql.user WHERE User = 'root'; ``` 此查询将显示 `root` 用户的加密密码,但无法从中还原出明文密码。 ### 3. 使用 `mysqladmin` 修改密码 如果已知当前 `root` 用户的密码,可以通过 `mysqladmin` 工具修改密码: ```bash mysqladmin -u root -p password '新密码' ``` 执行后会提示输入当前密码,输入正确后即可完成密码修改。 ### 4. 安全建议 - **避免明文存储密码**:不要在配置文件或脚本中硬编码 `root` 用户的密码。 - **定期更新密码**:使用强密码策略并定期更换密码以提高安全性。 - **限制 `root` 用户权限**:避免在应用中直接使用 `root` 用户,应创建具有最小权限的专用账户。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值