shadow以:作为分隔符,共分为九个字段
1、账号名称
2、密码 由于被加密过所以只能看到一串编码
3、最近修改密码的日期
这个字段记录了修改密码那天的日期,但是显示出来一般都是五位数字,这个是因为计算Linux日期的时间是以1970年1月1日作为1累加得到的,可以通过如下的程序计算:
2020/02/26为想要计算的日期,86400为每天的秒数,%s为1970/01/01以来累计的总秒数,由于bash仅支持整数,最终加上1补齐1970/01/01当天。
4、密码不可被修改的天数(与第三字段相比)
如果是0表示随时可以修改,如果是10那么就表示设置了新密码以后,10天之内都不能再修改这个密码。
5、密码需要重新修改的天数(与第三字段相比)
指定在最近一次修改密码后,在多少天之内需要再次修改密码。如果该数值为99999表示不强制在多少天内修改密码。
6、密码需要修改期限前的警告天数(与第五字段相比)
当账号的密码有效期限快要到的时候,系统会根据设定的数值发出警告信息提醒用户密码还有多少天就要过期了。例如:设置了7那么在密码快要到期的七天内都会提醒用户。
7、密码过期后的账号宽限时间(密码失效日)(与第五字段相比)
密码过期后系统会强制要求用户必须重新设置新的密码才可以继续登录使用,如果密码过期几天后到了这个宽限时间用户依然没有登录更改密码,那么这么密码就会失效。
8、账号失效日期
9、保留
待加入新功能