首页 > 编程知识 正文

linux修改root密码忘记,linux修改root密码失败

时间:2023-05-03 15:46:55 阅读:259294 作者:1878

tips:只做note,详细的知识点不表,doc比我说的更好;

解决办法

1.挂载系统分区镜像到Linux系统,前提支持ext3
2.sudo losetup -f -P emmc.bin 映射文件系统
3.sudo fdisk -l 检查loop设备,出现/dev/loop0p1-p4分区的即是emmc.bin的分区
4.当前目录mkdir guazai
5. sudo mount /dev/loop0p1 guazai #注意/dev/loop0p1 为具体要挂在的分区,分区的大小信息通过步骤3可以得到
6.下来cd guazai目录就是整个系统镜像的文件了,注意这里要用自己系统的root权限来修改读取/etc/shadow文件
7.shadow文件字段格式为:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
ATTENTION:我们只修改加密口令
加密口令字段的格式为:

$ID$SALT$ENCRYPTED

对应的字段解释含义为:

Hash TypeIDHash LengthMD5$122 nqddp-256$543 nqddp-512$686 characters

例如:

$6$HMpFTkgb$WqzuqMqYbjWsXFrOtvZPo.1gIkH6HiXJGr4QPv.k26jE.3mE...... (为了说明减少了长度)

这个密码就是SHA-512生成的,分割字符为$符号;

8.修改及生成加密口令:
在linux下终端运行这条命令:

python2 -c "import random,string,crypt;randomsalt = ''.join(random.sample(string.ascii_letters,8));print crypt.crypt('123456', '$6$%s$' % randomsalt)"

注意:123456 是密码;默认生成的是SHA-512密码;
生成的密码类似于:

$6$HMpFTkgb$WqzuqMqYbjWsXFrOtvZPo.1gIkH6HiXJGr4QPv.k26jE.3mE...... (为了说明减少了长度)

9.将生成好的密码$6开头的密码复制覆盖到需要修改的加密口令.然后:wq保存;密码即修改完成->下来同步镜像并卸载
10.首先退出guazai目录;回到guazai父目录执行 sudo umount /dev/loop0p1 #对应的/dev/loop0p1为挂在的目录,不确定可执行mount命令来确认
11.卸载完成后检查挂在成功 执行mount 无 对应的/dev/loop0p1即为成功;
12.最后卸载镜像 sudo losetup -D
13.检查是否卸载成功 sudo fdisk -l 检查没有loop设备即为成功修改,然后即可写入。

注意事项 1.检查是否修改成功?A:一样先losetup先映射文件系统,然后mount loop设备,进入目录打印对应文件,结束一定要卸载否则文件会丢失;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。