/etc/shadow解析

写在前面的话

Linux下重要的文件shsadow,主要用来存储用户密码,我们先来看看文件内容吧!在这里插入图片描述
这里先来解释一下

moddemod:$6$CuH2yeMBGqMEFPll$EWinnUxB4s.U9GcZTdDN8Ai/6CVly5EfR5NV9Ft1XkYOuI1YNSwE0DvHiujysreygl8awy.ffnguCGYbOnz5F/:18236:0:99999:7:::
  • moddemod 用户名
  • $6$gV25d/32s9xT5hLD$h7S2wX4DFeWxwfAbkLpmOKOfTz0.5Fh8g.4XR4CQ25FZx5Roi8BY.FrT/Adm.NYdJqi1ExWi1n0jL3k5kr0031 加密后的用户密码
  • 18236 自上次修改密码后过去的天数(自1970年1月1日开始计算)
  • 0 多少天后可以修改密码
  • 99999 多少天后必须修改密码
  • 7 密码过期前多少天提醒更改密码
  • 密码过期后多少天禁用用户账户
  • 用户被仅禁用的日期
  • 预留字段

密码字段

下面我们主要来解析一下密码字段$6$gV25d/32s9xT5hLD$h7S2wX4DFeWxwfAbkLpmOKOfTz0.5Fh8g.4XR4CQ25FZx5Roi8BY.FrT/Adm.NYdJqi1ExWi1n0jL3k5kr0031


$符号分割,可以解析为$id$salt$hashed

  • id 密码的加密方式
    • 1 表示使用MD5算法
    • 2a 表示使用Blowfish算法
    • 2y 表示使用另外一种Blowfish算法
    • 5 表示使用SHA-256
    • 6 表示使用SHA-512算法
  • salt 表示加密时候使用的salt
  • hashed 密码部分

即 使用SHA-512算法加密,使用的salt为gV25d/32s9xT5hLD, 加密后的结果为h7S2wX4DFeWxwfAbkLpmOKOfTz0.5Fh8g.4XR4CQ25FZx5Roi8BY.FrT/Adm.NYdJqi1ExWi1n0jL3k5kr0031


当然对于密码字段还村其他情况

  • 该字段留空表示没有密码
  • ! 表示该用户被锁,被锁用户无法登录
  • !! 表示该用户从来没设置过密码

现在回头去看上面的shadow文件内容截图就完全明白了…

openssl

下面我们利用openssl这个工具来生成如上的密码

openssl passwd -1 -salt '<salt>' '<plaintext>'

注意是数字1而不是字母l, 我们发现就是MD5加密
在这里插入图片描述
把1换成6就是SHA-512加密了
在这里插入图片描述
该密码就是我们上面的查看的shadow的密码字段啦,当然也就是我本机的电脑密码了…

发布了147 篇原创文章 · 获赞 4 · 访问量 6833

猜你喜欢

转载自blog.csdn.net/weixin_43833642/article/details/103737003
今日推荐