/etc/shadow 文件


/etc/shadow 字段

存储了Linux系统中所有用户的密码信息.

/etc/shadow 只有root用户拥有读权限.

passwd 保存的是账号,shadow 保存的是账号的密码等.


xiaozhi:$1$qQIIX04U$10gkSJgHEehwgS2mX/NHE.:18765:0:99999:7:::


语法:
login:encyrptedpassword:lastchangedate:min-age:max-age:warning:inactivity:expiration-date:reserved

login:账号名称

encyrptedpassword:加密密码的占位符。显然与真实的密码没有任何相似之处。如有 * 或 ! 在,表示账户被锁定或密码已过期,不能登录。

lastchangedate:是一个以 Unix 时间开始的天数表示的日期。给出上次修改密码的日期的时间。如果为0,下次登录时必须更改密码。

min-age:只有当日期值为 min-age + lastchangedate 时才能更改密码。如果为空,随时更改。

max-age:当日期值为 max-age + lastchangedate 时必须更改密码。它实际上是密码过期的日期。对于空密码,过期日期毫无意义,因此不需要 max-age、warning 和 inactivity 字段。为99999 (273年)则没有限制。

warning:当日期变为lastchangedate+max-age-warning 或密码警告期已开始时,将警告用户更改密码。如为 0 或空白(空),则没有警告期。

inactivity:当密码过期时,用户仍然可以更改其密码,直到不活动天数为止。如果未填写此字段,则没有不活动期。

expiration-date:这是用户帐户到期的日期。自即日起,该账户将无法登录。如果此字段为空,则该帐户永远不会过期。另外,请勿在此处使用“0”值。

reserved:保留。


encyrptedpassword 字段格式:

$type$salt$encrypted

单向不可逆。

type是提示符,salt是随机生成的字符串,encrypted是明文密码和salt通过crypt函数加密后的结果。

type用来标识采用了哪种加密方式:

1 代表采用了MD5加密方式
2 Blowfish,是最早的版本,有一些缺陷,不推荐使用
2a Blowfish,是修复了一些缺陷后的版本,但仍然有一些问题,不推荐使用
2b Blowfish,是修复了2a中的问题后的版本,是安全、常用的版本
2y Blowfish,Eksblowfish版本
y 是Yescrypt加密方式的前缀,是Blowfish加密方式的一个变种,提供了更高的安全性和性能。
5 代表采用了SHA256加密方式
6 代表采用了SHA512加密方式

目前是 SHA512 散列加密算法,原来采用的是 MD5 或 DES 加密算法。等级更高,更安全。

"salt" 代表 salt 中 "$type$" 后面最多 16 个字符。 密码字符串的加密部分是实际计算的密码, 这个字符串的大小是固定的:

 MD5      22 个字符
 SHA-256  43 个字符
 SHA-512  86 个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值