linux系统,确认账户密码正确

linux系统,确认账户密码正确

1、问题背景

有时在linux系统安装软件时,有的软件可能会在安装过程中创建系统用户,同时会给出这个用户的密码。过了一段时间我们不确定这个密码是否还正确,那怎么确认这个密码就是这个账户的正确密码呢?[假设这个账户被设置为不能登录,或者不想登录这个账户的情况下。无法通过登录账户确认密码是否正确]

2、解决方法

创建test用户

useradd test

查看/etc/shadow 文件中记录的test账户信息

cat /etc/shadow | grep test

在这里插入图片描述
给test用户设置密码

passwd test

在这里插入图片描述
再次查看/etc/shadow 文件中记录的test账户信息

cat /etc/shadow | grep test

在这里插入图片描述

文件中每行代表一个用户,使用 “:” 作为分隔符,每行用户信息被划分为 9 个字段。

第一列是用户名

第二列是加密的密码
“该字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令; 星号代表帐号被锁定; 双叹号表示这个密码已经过期了。 $6$开头的,表明是用SHA-512哈希加密的, $1$ 表明是用MD5哈希加密的 $2$ 是用Blowfish哈希加密的 $5$ 是用 SHA-256哈希加密的。)

第三列
最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。(一般这个时间起点是1970年1月1日)

第四列
最小时间间隔”指的是两次修改口令之间所需的最小天数。

第五列
最大时间间隔 指的是口令保持有效的最大天数。

第六列
警告时间 字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

第七列是密码过期后的宽限天数
不活动时间 表示的是用户没有登录活动但账号仍能保持有效的最大天数。

第八列是账号失效时间
失效时间 给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

第九列是保留字段,暂时没有含义。

我们关注第二列
在这里插入图片描述
在用户名test之后有$1$ ,这表明它是MD5哈希加密的,第二个$和第三个$之间的hFz7FF30是盐值,第三个$之后是哈希后的密码,使用盐进行哈希处理 - 在本例中为ZweMBsio/Jp4FN4GhvyPf.

可以使用openssl使用相同的盐值来计算给定的密码的哈希值,如下所示:

openssl passwd -1 -salt 盐值

可以看到输入给定密码后,openssl passwd 命令计算出的密码哈希值和/etc/shadow文件中查询到的密码哈希值是相同的,则说明我们输入的密码是test账户的正确密码。
在这里插入图片描述
我们输入的如果是test账户的错误密码,可以看到openssl passwd 命令计算出的密码哈希值和/etc/shadow文件中查询到的密码哈希值是不同的
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 在启动时按下Shift键,进入GRUB菜单。 2. 选择Advanced options for Ubuntu,然后选择recovery mode。 3. 进入recovery mode后,选择root,进入root shell。 4. 输入命令:mount -o remount,rw /,将文件系统挂载为可写。 5. 输入命令:passwd root,重置root密码。 6. 输入命令:sync,将更改写入磁盘。 7. 输入命令:reboot,重启系统。 8. 使用新密码登录root账户。 ### 回答2: 重置Linux系统的root密码可以通过以下步骤完成: 1. 重启计算机并进入grub引导界面。 2. 在grub界面,选择您要重置密码Linux系统,并按下“e”键进入编辑模式。 3. 在编辑模式下,找到以"ro quiet"结尾的行,并将其修改为"rw init=/bin/bash"。 4. 按下Ctrl + X 或 F10 键来启动修改后的系统配置。 5. 进入单用户模式,在命令行输入以下命令来加载根文件系统:mount -o remount, rw / 6. 输入passwd命令并按Enter键,然后输入新的root密码并再次确认密码。 7. 输入命令sync来同步文件系统并刷新缓冲区。 8. 输入reboot命令来重新启动系统。 9. 系统重新启动后,使用新的root密码即可登录到Linux系统。 需要注意的是,在执行这些步骤之前,请确保您具有管理员权限或root用户权限。此方法可能因不同的Linux发行版而有所不同,因此建议先查看与您使用的Linux系统版本相对应的文档或官方支持文档,以了解正确的步骤。 ### 回答3: 重置Linux系统的root密码有几种方法,下面将以常用的方法为例进行回答: 1. 单用户模式重置root密码: - 重启计算机,在引导界面选择要启动的Linux系统。 - 在启动项后按下“e”键,进入编辑模式。 - 找到以“linux”或“linux16”开头的行,并在末尾添加“init=/bin/bash”。 - 按下“Ctrl + X”或“F10”启动系统。 - 系统将以单用户模式启动,进入root权限的终端。 - 运行“passwd”命令并按照提示输入新的root密码。 - 重启计算机,使用新密码登录root账户。 2. 使用Live CD/USB重置root密码: - 下载一个Linux Live CD/USB映像,如Ubuntu Live CD。 - 将映像烧录到CD或制作成USB启动盘。 - 将计算机从CD或USB启动,选择“试用”(Live)模式。 - 运行终端,输入以下命令: ``` sudo fdisk -l sudo mount /dev/sdX1 /mnt # 将sdX1替换为Linux系统所在的分区 sudo chroot /mnt passwd root ``` - 按照提示输入新的root密码。 - 退出终端,重启计算机,使用新密码登录root账户。 3. 使用GRUB引导界面重置root密码: - 重启计算机,在引导界面选择要启动的Linux系统。 - 在启动项上按下“e”键,进入编辑模式。 - 找到以“linux”或“linux16”开头的行,并在末尾添加“init=/bin/bash rw”。 - 按下“Ctrl + X”或“F10”启动系统。 - 系统将以可写模式启动,进入root权限的终端。 - 运行“passwd”命令并按照提示输入新的root密码。 - 运行以下命令来重新执行引导过程: ``` mount -n -o remount,ro / # 以只读模式重新挂载根文件系统 reboot ``` - 重启计算机,使用新密码登录root账户。 以上就是三种常用方法重置Linux系统的root密码。使用时请注意操作的准确性,以免造成数据丢失或系统损坏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值