Linuxシステムのシステム時間は、未知の理由で自動的に変更されます。

Linuxシステムのシステム時間は、未知の理由で自動的に変更されます。

同じ質問をした特別な袋しかし、ここがより良い場所であることを知っておいてください。私のLinuxコンピュータの1つのシステム時間に非常に奇妙な問題があります。システム時間は常に私の現地時間より40秒前に自動的に変更されます。次の出力からわかるように、リセットするたびに数秒後に変更されます。

[root@node ~]# date; date -s "2018-01-23 14:06:40";sleep 5;date
Tue Jan 23 14:07:21 CST 2018
Tue Jan 23 14:06:40 CST 2018
Tue Jan 23 14:07:26 CST 2018

サービスがntpd停止し、システム時間を変更するために実行中のcronjobはありません。時間変更イベントを追跡するために監査ルールを追加しようとしましたが、何も記録されませんでした。監査ルールは次に添付されます/etc/audit/audit.rules

-a always,exit -F arch=b64 -S clock_adjtime -S adjtimex  -S time -S timer_settime -S settimeofday -S clock_settime -k time_change
-w /etc/localtime -p rxwa -k access_localtime
-w /etc/adjtime -p rxwa -k access_adjtime

その後、次のいずれかでservice auditd restart時刻変更ログを表示できます。/var/log/audit/audit.logntpdate time.windows.com

[root@node ~]# ntpdate time.windows.com
23 Jan 13:08:24 ntpdate[14584]: step time server 52.178.161.41 offset -61.612892 sec

Logs of the above command:

type=SYSCALL msg=audit(1516684164.838:3093): arch=c000003e syscall=223 success=yes exit=0 a0=0 a1=0 a2=7fff507e2600 a3=0 items=0 ppid=14397 pid=14584 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=47 comm="ntpdate" exe="/usr/sbin/ntpdate" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="time_change"
type=SYSCALL msg=audit(1516684166.521:3094): arch=c000003e syscall=227 success=yes exit=0 a0=0 a1=7fff507e2110 a2=0 a3=0 items=0 ppid=14397 pid=14584 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=47 comm="ntpdate" exe="/usr/sbin/ntpdate" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="time_change"

または以下を介してdate -s <date-time>

[root@node ~]# date -s "2018-01-23 13:12:30"
Tue Jan 23 13:12:30 CST 2018

Logs of the above command:

type=SYSCALL msg=audit(1516684402.125:3110): arch=c000003e syscall=227 success=yes exit=0 a0=0 a1=7fff55d0ced0 a2=0 a3=112e0be826d694b3 items=0 ppid=14397 pid=14626 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=47 comm="date" exe="/bin/date" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="time_change"

ただし、有用な監査ログなしで時間は再び急速に変わります。しかし、これはブレードサーバーのHyper-V管理仮想マシンですが、同じブレードサーバー上の他の仮想マシンにはこの問題はありません。

オペレーティングシステム環境情報:

[root@node ~]# uname -a
Linux node 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@node ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

なぜこれが起こるのかについての手がかりを与えることができる人はいますか?ありがとう:-)

ベストアンサー1

Hyper-Vには、ハイパーバイザーとVMカーネルの間で動作する時間同期サービスが含まれています。ユーザー空間プロセスが関係していないため、監査ログはありません。

ご存じのように、オペレーティングシステムが非常に古いバージョンの場合、今回は同期サービスに古いバグがある可能性があります。 VM の時刻同期を無効にするように Hyper-V ホスト管理者に要求する必要があります。

おすすめ記事