命令的输出passwd -S
显示了一个非常令人困惑的日期。请看下面的命令
root@cluster:~# passwd -S 9240305
9240305 LK 1970-01-01 0 99999 7 -1 (Password locked.)
root@cluster:~#
root@cluster:~# passwd -u 9240305
Unlocking password for user 9240305.
passwd: Success
root@cluster:~# passwd -S 9240305
9240305 PS 1970-01-01 0 99999 7 -1 (Password set, SHA512 crypt.)
root@cluster:~# date
Sun Jul 3 22:18:22 IRDT 2016
root@cluster:~# usermod --lock --expiredate 2016-09-01 9240305
root@cluster:~# passwd -S 9240305
9240305 LK 1970-01-01 0 99999 7 -1 (Password locked.)
第一个命令显示帐户已锁定。日期是 1970 年,这对我来说很模糊。第二个命令启用帐户,但我们再次看到(第三个命令)日期是 1970 年。第五个命令设置到期日期并锁定帐户。我预计该帐户将在2016年9月1日被锁定。第 6 个命令仍然显示 1970。
这意味着什么?
答案1
返回的日期passwd -S
是密码上次更改的时间,而不是密码到期的日期。 1970 年 1 月 1 日是“unix 纪元”——即时间零。
如果你看一下,/etc/shadow
你会发现第三个字段是一个数字;这是密码设置时间过去的天数。