我有一个使用krb5p安全性来安装NFS的系统。这一切似乎都很好,除非时间是向后移动(几个小时左右,不确定确切的阈值)。当时钟向后移动时,共享在试图挂载它时报告“没有这样的文件或目录”(使用autofs)。假设是加密检查之一--某个地方正在检查反向时间和中止,这将是正常的默认行为。
我有一个测试用例,其中客户机/服务器是同一台机器,还有一些使用不同的计算机,结果相同。所有时间都是同步的。在这个测试用例中,每个人使用的NTP服务器都是向后移动的。
我意识到这是一个有点奇怪的测试用例,但这是一个完全脱机的环境,该软件旨在处理任何类型的奇怪输入,比如操作符没有正确配置NTP (错误或其他什么),这只是测试边缘情况。
当我把时钟移回现在或未来时,股票在经历了一个k级/kinit循环之后,就会重新开始工作。
我尝试过使用新的kinit,清除sssd缓存,重新启动kadmin/k5rb-服务器服务,以及完整的系统重新启动(这会吹掉/tmp),但似乎什么都没有。
我对系统有完全的控制,所以我可以“重新安装”一些东西或者删除任何配置/数据文件,我只是找不到任何东西存储在哪里,从而使kerberos或NFS忘记了它曾经有一个未来的时间(假设我的理论是正确的)。
系统: RHEL7.9 7.9
非常感谢。
更新只是因为我们有一点偏离了下面,我想澄清的是,我明白时间倒退是奇怪的情况。虽然所有的建议都是值得讨论的,但这个问题的中心是如何解决这个问题。我意识到有可能通过HW解决它,但我更好奇的是,为什么它是失败的,如何恢复,而不是如何防止它失败,如果这是有意义的。虽然有一些HW解决方案限制了这种边缘情况的潜力,但没有一种方案至少在我目前的系统限制下将其降低到0,而HW选项可悲地是不可行的。SW选项也可能不可行,但只是试图理解它们。到目前为止,一种可行的解决方案似乎是对机器进行重新成像,但希望有一些不那么苛刻的东西。
发布于 2022-03-22 13:04:52
它不存储时间,它使vdso syscall从o/s内核中提取时间。如果它们不是同步的,那么它就会失败。如果它是离线的,那么看看一个带GPS帽子的RPi,并使用它作为时间来源。
https://unix.stackexchange.com/questions/696296
复制相似问题