当我尝试登录我的一个 Debian VM 时,系统要求我更改密码:
但是,该/etc/shadow
文件包含以下行:
user:$6$N1MivDoahXzQSd...ZBGwUD40:18153:0:99999:7:::
并getent shadow user
返回相同的信息:
# diff -s <(grep user /etc/shadow) <(getent shadow user)
Files /dev/fd/63 and /dev/fd/62 are identical
这与的输出一致chage -l user
:
Last password change : Sep 14, 2019
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
user
是本地用户。
因此,我并不认为这个提示会在 2293 年 6 月 28 日()之前出现1970-01-01 + 18153d + 99999d = 2293-06-28
。
是什么原因导致这个提示?
答案1
当我将主机操作系统从休眠状态唤醒时,一定出了问题。内核日志显示虚拟机已进入 2296 年(请注意内核的时间戳):
Jul 15 12:30:34 debian kernel: [8734132861.223020] 10:56:00.545787 timesync vgsvcTimeSyncWorker: Radical host time change: 30 513 582 000 000ns (HostNow=1 570 444 031 609 000 000 ns HostLast=1 570 413 518 027 000 000 ns)
Jul 15 12:30:34 debian kernel: [8734132861.223044] 10:56:00.545814 timesync vgsvcTimeSyncWorker: Radical guest time change: 8 734 120 316 289 565 000ns (GuestNow=-8 142 210 239 462 377 616 ns GuestLast=1 570 413 517 957 609 000 ns fSetTimeLastLoop=false)
重新启动后一切恢复正常。