αα·α
αα
ααΆαααΌα
ααΆα
αααααΆαααΎαα‘αΎααα
αααααααααα»ααα α αΎααα½αααα
αααΆαααα 2-3 ααΆααΈα ααΆααΌαα
ααΌα
ααΆααααα
αα αααα·αααααΆααααΆααα»αα±αααααα»ααα½ααα»αααααααΈααα ααΎαααΆαααΈαααααααααΆααα αααα»αααΆαααααΎααΆ ααααααααΆαα ααΆαα α αΎααααααΆαααααα’α ααααΆα "αααααααΆααΊααΏα 5 ααΆααΈ" α α’αα»ααααΆαα±αααααΆαααΈααααααααααααααΆαααααΎααααΆαααααααααααα½αα―αα ααααααααα αα½αααααααααααα»ααα ααΆαααα ααααααΊααααα»α α αΎαααααααΆααααααααααΆααα
βααααα! β αααα»ααα·αααΆ ααααΌααα αα»αααΌααααΆαααΈααα β αα·αα’αΈαα αααα»αααΉααααααΆαααΈαααΈααΆααΈααααβ
ααΌαβααΎα ntp, rdate, sdwdate αα·αααΆαααα‘αΎα αααΈααααΈ αα·ααα·ααα·αααααΎαααΆαα
# timedatectl
Local time: Sun 2019-08-25 20:44:39 +03
Universal time: Sun 2019-08-25 17:44:39 UTC
RTC time: Sun 2019-08-25 17:39:52
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
αα ααΈααααααα»αααΉαααααααααΆααααααΆααααΆαααααααΆαααααααΉαααΊααααΉαααααΌαα ααΆααΉαααΆααααααΆααααα½ααααα»αααΆααα»ααααααααααααα
αααααΊααΆααααααααααααααΈααααα α»αααΆαα
αΆααααααΎαα
ααα α»αααααΌαα αααα»αα α·αααβααΎβαααα½αα―α
α α»α -click...
# systemctl enable systemd-timesyncd.service && systemctl start systemd-timesyncd.service && ntpdate 0.ru.pool.ntp.org && timedatectl set-ntp on && timedatectl
25 Aug 21:00:10 ntpdate[28114]: adjust time server 195.210.189.106 offset -249.015251 sec
Local time: Sun 2019-08-25 21:00:10 +03
Universal time: Sun 2019-08-25 18:00:10 UTC
RTC time: Sun 2019-08-25 18:00:10
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
α’αααΈααααααααΆαααΊααα’ αααααααΆααααΌαααΆαααααΎααααΆααααα αααααααΆααααααααααααΌαααααΆααΉααααααααΉαα Β«ααβαα Β» αααα»αβαα·ααΆαβα αΎαβαααα‘ααβαα βααβα’αΆααΈαααααβαα·αα
βααα’αααΈ? - αα·ααααα½αααΆαααΆαααΆαααΆαααΉααααααΆαα βααΆβααΆβαααβααααΆβααΌα βααααΆ!β
ααΆαααΆα’ααααααααααΆααααα αΆααααααΆααΆααααα αααΎα ααΆααα·αααααα’αααααΆαααααααα·α ααααα α αΎαα’αααααααα·αααΆααααΆαααΆααα½ααα α¬αα½αααΆααααΉααα»αααααΆ ααα»αααααα·ααααααααααααα
# timedatectl
Local time: Sun 2019-08-25 21:09:15 +03
Universal time: Sun 2019-08-25 18:09:15 UTC
RTC time: Sun 2019-08-25 18:05:04
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
αααααααΆααααααααααΊαα»ααααααααα
ααΌαβααααΆααΆαβααααβααα:
# ntpdate 0.ru.pool.ntp.org && timedatectl && sleep 1 && timedatectl
25 Aug 21:07:37 ntpdate[30350]: step time server 89.175.20.7 offset -249.220828 sec
Local time: Sun 2019-08-25 21:07:37 +03
Universal time: Sun 2019-08-25 18:07:37 UTC
RTC time: Sun 2019-08-25 18:07:37
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Local time: Sun 2019-08-25 21:11:46 +03
Universal time: Sun 2019-08-25 18:11:46 UTC
RTC time: Sun 2019-08-25 18:07:37
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
αααααααΎααΆαα»αααααΆα
# date -s "2019-08-25 21:10:30" && date && sleep 1 && timedatectl
Sun Aug 25 21:10:30 +03 2019
Sun Aug 25 21:10:30 +03 2019
Local time: Sun 2019-08-25 21:14:36 +03
Universal time: Sun 2019-08-25 18:14:36 UTC
RTC time: Sun 2019-08-25 18:10:30
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
α αΎαααΌα αααα
# hwclock --hctosys && timedatectl && sleep 1 && timedatectl
Local time: Sun 2019-08-25 21:11:31 +03
Universal time: Sun 2019-08-25 18:11:31 UTC
RTC time: Sun 2019-08-25 18:11:31
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Local time: Sun 2019-08-25 21:15:36 +03
Universal time: Sun 2019-08-25 18:15:36 UTC
RTC time: Sun 2019-08-25 18:11:32
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
αααβααααΆβααααΌαβααΆαβαααααβαααααΆααβααΆαβαααααβαα½αβαα·ααΆααΈ α αΎαβααααΆααβααΉαβα αΆααβααααΎα "αααααΆαα" ααααβαααα
αααα»ααααααΆαα½αααααΆααα αα αααα»ααααααα ααα» αα αααααααΆαααααΆααααααΌαααααααααααα ααΎαααΎααααααΆαααΆαααααααααααααααααααααΆααΆαααααΆααααααΌααααααααα½ααααα»ααα·ααα ααααΉαααααΌα/αα»α αα·αααααααααΆαα αααα»αααααΎααααΆαααααα‘αΎααα·α ααΈ systemd-timesyncd α
Aug 25 21:18:51 wisi systemd[1]: Time has been changed
Aug 25 21:18:51 wisi systemd-timesyncd[29258]: System time changed. Resyncing.
Aug 25 21:18:51 wisi systemd[1187]: Time has been changed
Aug 25 21:18:51 wisi systemd[1]: Time has been changed
Aug 25 21:18:51 wisi systemd[1187]: Time has been changed
αα ααΈααα
# ps afx | grep "[1]187"
1187 ? Ss 0:02 /lib/systemd/systemd --user
αα
α
ααα»α
ααα α
αΆαααΆα
αααααΌαααααΎαα ααα»αααα½α
α αΎα ααα»αααααααα»ααααααα 18 ααααΆαααααΆαααααααααα αα½αααααΆαααΆααααααΌααααα·αα·ααΎααα α»α "αααααααΆ" α αΎαα α½αααΈαααααΆαα ααααααααΆαααααΎααααΆααααααααααααα
ααααα·αααΆααΆαααααα»αα
# timedatectl set-ntp off && systemctl stop systemd-timesyncd.service
# hwclock --hctosys && timedatectl && sleep 1 && timedatectl
Local time: Sun 2019-08-25 21:25:40 +03
Universal time: Sun 2019-08-25 18:25:40 UTC
RTC time: Sun 2019-08-25 18:25:40
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
Local time: Sun 2019-08-25 21:29:31 +03
Universal time: Sun 2019-08-25 18:29:31 UTC
RTC time: Sun 2019-08-25 18:25:41
Time zone: Europe/Minsk (+03, +0300)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
αα·ααα αααα»ααααααα ααα»
Aug 25 21:25:40 wisi systemd[1]: Time has been changed
Aug 25 21:25:40 wisi systemd[1187]: Time has been changed
Aug 25 21:29:30 wisi systemd[1]: Time has been changed
Aug 25 21:29:30 wisi systemd[1187]: Time has been changed
αααα»αααααΎααααΆαααααα‘αΎααα·α ααΆααβα αΎαβααΎβαα·αβααΌα ααααβααβααΎβααΆααβαααβααΊβααΆβααΎαα
αα·αα·αααααΆαααααα·ααααΆα tcpdump αα ααΎα ααα 123 αα ααΎα ααα»α αααααΆααααΆααα’ααα αα·αααΆαααΆαααααΎαα»ααα ααα»αααααααααααΆαα ααααααα αα»ααααα
ααα α»αααΈαα αααααΆαα
αα
ααααα½αααααααααααα
α»ααααααΆα αααΆαααΆα α αΎααααα»ααα·αα
ααα
αΆαα
αααααααΆααα
α»ααααααΆα αααΆαα½αααΉααααα αΆααααα·αααΆααααΆααααααααΆααα (αα»αααα
α·ααααα»αααΆααααΎαααααααΆαα
αααα»αααΌα α’αααααααααΌαααΆαααααααα
αααααααααΆαα )
α αΎααα
ααΈαααααααααα αααα½αα±ααααΆααααααααα ααα»αα αααα»αα
αΆααααααΎαααααΆααΆαααααααα’αααΈααααααα αααα»ααα·ααΆαααΆ "αααααΎα" ααΈααααααα·αααΆααΆααααααααααααΆααααααααα’αΆα
ααα ααα»ααααα»ααααΆααααα ααΆααΊααΆαα·ααΈααΆααααααααααΆαααα α»ααααα»αααΆααααααααΆααααα αΆα
αααΆαααΈααααααααΊααΆαααΆαααΈαααααααααΈα αα·ααααααααααααααΈα DVB-S2 αα ααΆ IP α ααααααΈα DVB-S ααΆαααααΆαααααααΆ ααΌα ααααα’αααααα½α α’ααααα α»αα»α α’ααααααααααααα αα·αααΌααααααααααααααααΎαα½αααΆααΎααααΈααααΎααααΆαααααααΆα‘α·ααΆααααααααα αααααα·ααΈαααααΆαααα DVB-S ααααΌαααΆααααααΎαα‘αΎααα αααα»αααΊααα ααΌα αααααααααααΆαααΏααααα»αααΎααααΈααΆααΆααΆ ααααααΈα DVB-S2 ααααΌαααΆαααα ααααΊααααΌαααααΆα ααααααααααααΈ "α αΆα"α ααΆααααΆαααα’ αααΆαααΈααααααα·ααα ααΆαααααααααααΆαα ααΌα ααααααααΌαα
ααΆααΆααα·αααΆαα ααααα·αααΎαααααα ααα»ααΆααααα»αααΌαα’αααΈααααα½ααα ααΈααα ααΏααααααΉααα·αααΎαα‘αΎαααααα ααα»ααααααααααααΎααα ααααααααα α α»ααααα ααααα’αααααα
ααΆααΆααααααΎαααΆαα αααααΆαααΎαααΆααααααααΆααααΆααααααΆααα’αααα½α α αΎα ααΎαααααΉααααααααΆαα ααΎααΈααααα - αααα»ααααααΆαα½αααααΆααα ααΎααααααααααααΆαααΆααα’ααα ααα αααΆαααΈαααααααΌαααΆαααΆααααααΆα αααΈαα·ααααΆααααα α αΎαααααΎαααΆαααααααααααΆαααΆαααααα»α ααα»ααααααΆα‘α·ααΆαααααααααα αααααααΆααα
αααααΆα αααΆαααΆαααΆααααα ααα αΎα α αΎααααα αΆααΆαααα·α αααα/αααααααα½αα―ααα·αααααΆαααα ααΌα ααααα’αααα’αΆα αααα‘αααα ααααααΆα ααα»αααααα ααΈααααααα»αααααΎαα»αααααΈα
ααα α»αααΈα ααΈααααΉααααΆ
αα·αααα! αα»ααα½ααααα½ααα ααΎαααα·ααΆ αα·αααα αααααα―ααααααΌαα (a la stackoverflow) ααααα·αααΎα ααααΎαα ααααααΆααΆαααΆαα αααΎαααΆαααΆααα·ααααΆαααααααΈαα½ααααα Google αα·αα’αΆααααααααα»ααααααα½αα
αα½αααααΉααααααΌαα’ααααααα‘αααα Google αα·α α’αΆααα»ααααΌα ααααΆ αα·ααααααααααΆαααααα·ααα’αααΈα αααΆαααααααα·ααΆ/ααα ααααα ααα»ααααααΉααα·ααααααα ααααΎααααα’αααααα
αααααΊααΆαααααΆααααααααα½αα ααα½αα
- ααααΆαααααΆααααΆααααααΎααααααα’αααα’αΆα ααΉαααΈαααα αΆαααααα
- ααααΆαααααΆααααΆααα’αΆα ααααΎααααααααααααααααααααΌα ααααΆααΉαα’αααααα
αα·ααααααΆαααα
- α’ααααααα ααααΆαα·ααααααααΆααααα αΌαααΆααα’αααααααΆααααΆααααααααΆααααα αΆααααα ααΈαααααα’αααααΆααααααΎααα·ααα "ααααΉαααααΌα" αα½α α αΎα α αΎααααα»ααααα αΆαααααΉαααΆααααααα αΆααααααααααΎααΆ;
- ααααΆα (α’ααααααααααααα½α α’αααα αΆαα α’αααααααααααα) αααααααααΌα ααΎααααΉαααΆααα»α... ααΉααα...
ααααα·αααΎαα αααααααΎααααα ααΉαααα·ααααα α’ααααα αααααα·ααααα»αααααααααααααΆααααααααααααααΌαααΆααααα½ααα·αα·ααα αααα’αααααΆααααααααααΆαααααΆααα
ααΆααααααα α α·ααα
αα·αα αΆαααΆα ααααα αααα·α αα ααΆααα ααΆααΆαααα αα·ααααα»αααααΆααααααα
ααΎααααααΉαααα’ααααΎαααα·ααααα αααα·αα· ααΈααααΉααααΆααααααΎα α αΎαα αΆααααααΎααα·α βααααααβ ααααααα α»αααααα ααα»ααααααααΌααααααααα ααα»ααα±ααααΆαααΆααααΆααα
αααααΆαααααΆααααΆααααααααααααααΆ ααΆαα α αααααααααααααααΌαααααΆααααΌαααααΎαα‘αΎαα
ααΌα αα αααα»αα―αααΆααααααα·ααΈααα α―αααΆαααα’αααα»αααΊααΆααααα ααΌα αααααααα»αααΆαααααααααααααααααα αααα½αααΆαααααα’αααα»αααΊααααααα αααα»αααααΈααααααΎα ααααααα.
ααΆααααααααα½αααααααααα»αααΆαααααααΆαα mana ααα»αααααα·αααααΆααααΆαααααα»αααΆαααααααΆαα αααα»αααΈαα»α α’αΆα ααααΌαααΆααααααααααα»ααααα clock_settime ΠΈ αααααααααααααααααΌα ααααβαααααΆααβααΆαβααααΎβαααααβααααΌαβαααα»αβααΆαβααααΎαβααΎαβααΆαβα α βααΌαααααα "αααααα" ααΆααβα’ααβ:
# man syscalls | col | grep -F '(2)' | grep -vE '(:|;)' | grep -E '(time|date|clock)' | sed "s/(2).*//" | xargs -I SYSCALL echo "-S SYSCALL " | xargs echo
-S adjtimex -S clock_adjtime -S clock_getres -S clock_gettime -S clock_nanosleep -S clock_settime -S futimesat -S getitimer -S gettimeofday -S mq_timedreceive -S mq_timedsend -S rt_sigtimedwait -S s390_runtime_instr -S setitimer -S settimeofday -S stime -S time -S timer_create -S timer_delete -S timer_getoverrun -S timer_gettime -S timer_settime -S timerfd_create -S timerfd_gettime -S timerfd_settime -S times -S utime -S utimensat -S utimes
αα·αααΆααααα αα s390_runtime_instr, stime, timerfd_create, ααα ααααααα αα·αααααΆααααΆαα ααααΌαα αΆααααααΎαααααααααααα»αααααααα
auditctl -a exit,always -S adjtimex -S clock_adjtime -S clock_getres -S clock_nanosleep -S clock_settime -S futimesat -S getitimer -S gettimeofday -S mq_timedreceive -S mq_timedsend -S rt_sigtimedwait -S semtimedop -S setitimer -S settimeofday -S time -S timer_create -S timer_delete -S timer_getoverrun -S timer_gettime -S timer_settime -S timerfd_gettime -S timerfd_settime -S times -S utime -S utimensat -S utimes
αααααΆααααΈααααΎα±ααααααΆααααΆαα·αααΆααααααα ααα»αααααααααα αααα»αααΈααΆαααααααα ααα»ααααααα»αα αΆααα’αΆαααααα ααα‘αααααα αααα βααΈβααΈαβααα αααα»αβααΆαβααααΎβααβααΆβααααααβαααα
αααα»αααααΎαααΆααααααααααΆαα α ααΆααααααααα clock_settime ΠΈ ααααααααααααααα α αΎαααααΆααΆαααααΆααααααΌαααΆαααα·α ααααα
# auditctl -a exit,always -S clock_settime -S settimeofday && date -s "2019-08-22 12:10:00" && sleep 5 && auditctl -D
ααΆααααααΆαααααααΆααα·ααΆααΈααααΌαααΆααααααα ααΌα αααα "αααΆαααΆαααΈα" ααααααΎαααααΌαααΆαααΆααΆααΎααααΈαααααααΌααααααααΆα
αααααΎααααΆαααΆαααα
# aureport -s -i
Syscall Report
=======================================
# date time syscall pid comm auid event
=======================================
Warning - freq is non-zero and incremental flushing not selected.
1. 08/22/2019 12:10:00 settimeofday 3088 chkcache_proces root 479630
2. 08/26/2019 09:37:06 clock_settime 1538 date root 479629
αα
ααΈαααααΎαααΎαααααααΎαα ααΆαααα·α
αααα αα·ααα·αααααΆααααΎα chkcache_processes. ααΆααΆααααα
αααα
αααα»ααααΆαααΆαααααΆαααΎαααααΆααα aureport ααΆααααααααα·αααααααΆαααΆαααα·α
αααααα
αααααααααααΈαααααααααααααΈα α αΎαααααΉαααα·ααΆαααααΆαααΎαα‘αΎααα
αααααΎαααααα ααΆαααα·α
αααα -s "2019-08-22 12:10:00".
ααΎα’αααααΆααΆααααααααααΎαα±ααααΆαα?
# ausearch -sc settimeofday --comm "chkcache_proces"
----
time->Thu Aug 22 12:10:00 2019
type=PROCTITLE msg=audit(1566465000.000:479630): proctitle="/usr/local/bin/oscam"
type=SYSCALL msg=audit(1566465000.000:479630): arch=c000003e syscall=164 success=yes exit=0 a0=7fde0dfc6e60 a1=0 a2=136cf a3=713ba56 items=0 ppid=3081 pid=3088 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts20 ses=68149 comm="chkcache_proces" exe="/usr/local/bin/oscam" key=(null)
/usr/local/bin/oscam - αααΆαααΆαααΈαααααααΎαααααΌαααΆαααααΎαα αααααΈααΆααΆαα₯αα·ααΆαα "ααααΆααΆα" ααααααΆααααα ααΆαα·αα’αΆα αα αα½α αααααα»αααΆαααα·αααααααααααα αΌαααααΎααΆααααααααα ααα»αααααααα»ααα ααα ααααΉα α’αΌαααα, WTF?
α
ααααΎαααααΌαααΆαααααΎααααΆαααΆαααα αααα
αααα»α
#if defined(CLOCKFIX)
if (tv.tv_sec > lasttime.tv_sec || (tv.tv_sec == lasttime.tv_sec && tv.tv_usec >= lasttime.tv_usec)) // check for time issues!
{
lasttime = tv; // register this valid time
}
else
{
tv = lasttime;
settimeofday(&tv, NULL); // set time back to last known valid time
//fprintf(stderr, "*** WARNING: BAD TIME AFFECTING WHOLE OSCAM ECM HANDLING, SYSTEMTIME SET TO LAST KNOWN VALID TIME **** n");
}
ααΎααΆαα½αα±αααααααΆααααα»ααααΆαα
ααΈααα αααα
ααααα· αααααΆαα ααΆααααααΆα...
ααααα: www.habr.com