注意:目前没找到可用的在线解码工具,若有伙伴有,麻烦发我一下

一、/etc/passwd
/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(😃 分隔为7个字段,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
注意: /etc/passwd 文件是所有用户都可读的

1用户名
2用户的密码原来直接存储在第二字段,但是为了安全,最后专门有了/etc/shadow文件,现在默认用x替代
用户的uid ,一般情况下root为0,1-499 默认为系统账号,有的更大些到1000,500-65535 为用户的可登录账号,有的系统从1000
开始。
用户的gid , linux的用户都会有两个ID,-个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到
4 /etc/passwd 查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID (在/etc/group中)读出来。然后读出主文件夹与
shell的设置,然后再去检验密码是否正确,正确的话正常登录。
5用户的账号说明解释
6用户的家目录文件夹
7用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。

二、/etc / shadow
#查看所有用户密码
/etc/shadow文件,用于存储Linux系统中用户的密码信息,又称为影子文件"。
/etc/shadow文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。
文件中每行代表-一个用户。使用(😃 作为分隔符, 每行用户信息被划分为9个字段。每个字段的含义如下:
用户名:加密密码:最后-次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
#字段含义
1用户名
2用户的密码加密字段
3密码已经使用的日期(从1970-01-01开始, 为什么?因为unix1969年发布雏形, 基于当时对系统的考虑,就这样了)
4密码最少多少天之后可以修改
5密码多少天之后必须修改(例子中99999就是表明可以一直不用修改密码)
6密码修改之前几天提醒我修改(例子中是7天之前)
7要是没有修改延长几天
8无论怎样到这个时间过期
9保留字段,目前无含义

三、/etc/shadow文件中加密密文详解
例如:
lilei:linux使用账号密码操作es_字段zvt9aWzy$aoZDNPL0.mXFfsJczn.9gZtHZwmFTAFIbe4qHZd48zeB1mIka7jOsrmGvGMBV8LUV.iUdr6bk0hQZyGSOPiTy/:18420:0:99999:7:::
详解:
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

例如:
linux使用账号密码操作es_字段zvt9aWzylinux使用账号密码操作es_linux使用账号密码操作es_03”分隔,第一部分为 ID,第二部分为盐值,第三部分为加密密文

ID 用来表示加密的方法,如下图
1 表示加密方法使用 MD5,5 表示 加密方法使用 SHA-2566,6 表示加密方法使用 SHA-512
除过以数字识别,还可以用命令:Authconfig --test|grep hashing

什么是盐值(salt)?
盐值就是使用随机字符码混合密码加密算法所产生的密码,作用就是即使是同一个密码,使用同一种加密方式,所产生的密文值也不同
如上面提到的密文示例:
什么是密文?
上面示例中这一段就是密文了
aoZDNPL0.mXFfsJczn.9gZtHZwmFTAFIbe4qHZd48zeB1mIka7jOsrmGvGMBV8LUV.iUdr6bk0hQZyGSOPiTy/