例如下面这一段即一个用户的shadow信息:
uangianlap:$6$oX3cr.x9IJD6Qx1J$17EXp1cHc5cJWECPz36DiUUFY9yzcZdN48AUFAgu6TGT7gpcvuTD/cfatPZCdeGCHUd7BWsMDlBRB2J89N8su1:17017:5:180:7:30:23590:
可以看到被“:”分隔出总共有9个字段,下面简要说说这些字段的含义。
(1)uangianlap: 系统用户名(必须在系统中存在)
(2)$6$oX3c...: 加密后的用户密码
(3)17017 :最近一次修改密码的时间。即密码的生日。这个数字代表天数(即距1970年1月1日的天数)
(4)5 :密码的最短“寿命”(单位为天),这里定了5天,即说明这个用户密码至少得“存活“5天吧?换句话说也就是这5天内不再允许你修改自己的密码了。
(5)180 :密码的最长“寿命” (单位为天),即180天内密码都是有效的,但180天之后用户必须更新其密码。
(6)7 :密码“寿命”到时提前几天警告用户。这里的7天表示180天的寿命前7天即第173天开始给用户警告。
(7)30 :我这里把这个理解为密码失效后的一个缓冲时间。即180天过后的30天之内,密码还是有效的(前提是用户没有拿出),但是若用户要重新登录的话,则要求用户设置新密码了。数字0表示立即失效,如果是-1则代表密码永远不会失效。
(8)23590 :帐号失效日期(单位为天,距1970年1月1日的天数)。这个日期后用户帐号将失效,而不会理会密码的问题。
(9) :第9个字段,默认留空,暂时没有意义。是系统保留的一个字段,以备后用。
注:以上4、5、6字段的默认值分别为0,99999,7,想知道这是为什么吗?参考/etc/login.defs这个配置文件吧!