我们在 AWS 上有一个安装有 Amazon Linux 的服务器。默认情况下,它带有 NTP 服务,我们可以看到它是同步的。但是,当有人使用以下命令更改时间时:
date -s "14 JUL 2014 04:45:00"
日期和时间是强制的。下次使用 NTP 检查时,ntpd 不会更新时间。有人能帮我解决这个问题吗,以防止使用 NTP 未经授权更改时间。
答案1
如果时间“太错误”,ntp 将不会更改时钟,这可能是您遇到问题的原因。
但是,调试此问题的最简单方法是将其添加到 ntp.conf:
logfile /var/log/ntpd.log
如果您运行 ntpdate 命令并收到如下错误:
# ntpdate ntp.ubuntu.com
ntpdate[26284]: Can't adjust the time of day: Operation not permitted
这意味着您可能在 VPS 上,在这种情况下您无法修改系统时钟 - 这只能在主机上完成。
答案2
您似乎错过了有关 NTPD 运作方式的全部信息。
首先,如果机器时钟关闭的时间超过配置panic
值(默认为 1000 秒), NTPD 将拒绝更改时间。
其次,NTPD 不仅仅“改变”时间。它可以使用多种方法来改变机器时钟内部的计时方式,使时间流逝得更慢或更快。
如果您不想让 NTPD 干扰 - 只需禁用它。