ื›ื›ืœ ืฉื”ืžืฉื™ืžื” ืคืฉื•ื˜ื” ื™ื•ืชืจ, ื›ืš ืื ื™ ืขื•ืฉื” ื˜ืขื•ื™ื•ืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ

ื›ื›ืœ ืฉื”ืžืฉื™ืžื” ืคืฉื•ื˜ื” ื™ื•ืชืจ, ื›ืš ืื ื™ ืขื•ืฉื” ื˜ืขื•ื™ื•ืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ

ื”ืžืฉื™ืžื” ื”ื˜ืจื™ื•ื•ื™ืืœื™ืช ื”ื–ื• ื”ืชืขื•ืจืจื” ื‘ื™ื•ื ืฉื™ืฉื™ ืื—ืจ ื”ืฆื”ืจื™ื™ื ื•ื”ื™ื™ืชื” ืืžื•ืจื” ืœืงื—ืช 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

ื›ืืŸ ืืฆื™ื™ืŸ ืžื™ื“ ืฉื–ืžืŸ ื”ื—ื•ืžืจื” ื ื›ื•ืŸ: ื™ื”ื™ื” ืงืœ ื™ื•ืชืจ ืœื ื•ื•ื˜ ื”ืœืื”.

ื›ืืŸ ื”ืชื—ื™ืœื” ืกื“ืจืช ื”ื˜ืขื•ื™ื•ืช.

ื”ื˜ืขื•ืช ื”ืจืืฉื•ื ื”. ื‘ื™ื˜ื—ื•ืŸ ืขืฆืžื™

ืœื—ืฅ ืขืœ...

# 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) ืื ื”ืชืฉื•ื‘ื” ืขืœื™ื” ื“ื•ืจืฉืช ื™ื•ืชืจ ืžืœื™ืžื•ื“ ื”ืขืžื•ื“ ื”ืจืืฉื•ืŸ ืฉืœ ื’ื•ื’ืœ ื•ืงืจื™ืืช ื“ืฃ ืื“ื ืื—ื“.

ื”ื ื™ืฉืœื—ื• ืื•ืชืš ื‘ื—ื–ืจื” ืœื’ื•ื’ืœ, ื™ืงืจืื• ืืช ืื•ืชื• ื”ืื™ืฉ ื•ื™ืกื‘ื™ืจื• ื‘ืื•ืคืŸ ืขืžืžื™ ืืช ื—ื•ืงื™ ื”ืคื•ืจื•ื/ืืชืจ, ืื‘ืœ ืœื ื™ืชื ื• ืœืš ืชืฉื•ื‘ื”.

ืœื”ืœืŸ ืžืกืคืจ ื’ื•ืจืžื™ื ืื•ื‘ื™ื™ืงื˜ื™ื‘ื™ื™ื:

  • ืืฃ ืื—ื“ ืžืœื‘ื“ืš ืœื ื™ื›ื•ืœ ืœื”ื›ื™ืจ ืืช ื”ื‘ืขื™ื” ื’ื ื›ืŸ;
  • ืืฃ ืื—ื“ ืœื ื™ื›ื•ืœ ืœื‘ืฆืข ื‘ื“ื™ืงื•ืช ื‘ืื•ืชื ืชื ืื™ื ื›ืžื• ืฉืœืš

ื•ืกื•ื‘ื™ื™ืงื˜ื™ื‘ื™:

  • ื™ื™ืชื›ืŸ ืฉืœื ืชืชืŸ ืืช ื›ืœ ื”ืื™ื ืคื•ืจืžืฆื™ื” ืœืคืชืจื•ืŸ ื”ื‘ืขื™ื”, ื›ื™ ื›ื‘ืจ ื”ื’ืขืช ืœื›ื™ื•ื•ืŸ ื”"ื ื›ื•ืŸ" ื•ืžืฆื™ื’ื” ืืช ืžื”ื•ืช ื”ื ื•ืฉื ืชื•ืš ื”ืชืžืงื“ื•ืช ื‘ื•;
  • ืžื ื”ืœ ื”ืขื‘ื•ื“ื” (ืžื ื—ื”, ื•ืชื™ืง, ืžื ื”ืœ) ืชืžื™ื“ ืฆื•ื“ืง, ืื ืžื ื”ืœ ื”ืขื‘ื•ื“ื” ื˜ื•ืขื”... ื•ื‘ื›ืŸ, ืืชื” ื™ื•ื“ืข...

ืื, ื›ืฉื”ื’ื‘ืช ืœืชื’ื•ื‘ื•ืช, ื ืฉืืจืช ื‘ื’ื‘ื•ืœื•ืช ืื•ืฆืจ ื”ืžื™ืœื™ื ื”ืžืฆื•ื ื–ืจ, ืื– ื™ืฉ ืœืš ืขืฆื‘ื™ื ื—ื–ืงื™ื.

ื”ื—ืœื˜ื”

ืื™ืŸ ืฆื•ืจืš ืœื—ืœืง ืžืฉื™ืžื•ืช ืœืคืฉื•ื˜ื•ืช ื•ืžื•ืจื›ื‘ื•ืช.

ืื ื• ืžืคืกื™ืงื™ื ืœื”ืกืชืžืš ืขืœ ื”ื ื™ืกื™ื•ืŸ, ื”ืกื˜ื˜ื™ืกื˜ื™ืงื”, ื”ื™ื•ืขืฆื™ื ืฉืœื ื• ื•ืžืชื—ื™ืœื™ื ืœื "ืœื”ืกื‘ื™ืจ" ืืช ื”ืชื•ืฆืื” ื”ืกื•ืคื™ืช, ืืœื ืœื—ืคืฉ ื‘ืื•ืคืŸ ืขืงื‘ื™ ืืช ื”ืกื™ื‘ื”.

ืžื›ื™ื•ื•ืŸ ืฉืžื™ืฉื”ื• ืงื•ื‘ืข ืืช ื”ืฉืขื”, ืงืจื™ืืช ื”ืžืขืจื›ืช ื”ืžืชืื™ืžื” ื—ื™ื™ื‘ืช ืœื”ืชืจื—ืฉ.

ื›ืžื• ื‘ืชื™ืขื•ื“ ืชื•ื›ื ื” ื”ืžืกืžื›ื™ื ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ืชืจ ื”ื ื”ืžืงื•ืจื•ืช, ื›ืš ื‘ื ื™ื”ื•ืœ ื”ืžืขืจื›ืช ื”ืขื•ื–ืจ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ื”ื•ื ื”ื‘ื™ืงื•ืจืช, ื‘ืžืงืจื” ืฉืœื ื• ืžื‘ื•ืงืจ.

ืจื’ืข ืฉืœ ืกืคืงืขื‘ืจืชื™ ืขืœ ื”ืžืื ื”, ืื‘ืœ ืœื ื”ื™ื™ืชื™ ื‘ื˜ื•ื— ืœื’ืžืจื™ ืฉืืคืฉืจ ืœื”ื’ื“ื™ืจ ืืช ื”ืฉืขื” ื‘ืœื™ื ื•ืงืก ื‘ืœื‘ื“ ืฉืขื•ืŸ_ื”ื’ื“ืจืช ื–ืžืŸ ะธ ืงื‘ื™ืขืช ืฉืขืช ื”ื™ื•ื, ืื– ืœืžื‘ื—ืŸ ื”ืจืืฉื•ืŸ ื‘ื—ืจืชื™ ืืช ื›ืœ ื”ืงืจื™ืื•ืช ื”"ืžืชืื™ืžื•ืช":

# 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 ืœื ื–ื™ื”ื” ืืช ื–ื”, ืคืชื— ื‘ื”ืชื—ืœื” ื‘ื™ืงื•ืจืช ื‘ืฆื•ืจื”:

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

ืœืื—ืจ ืฉื•ื•ื™ื“ืืชื™ ืฉืื™ืŸ ื™ื•ืžื ื™ื ืื—ืจื™ื ื‘ืžื™ืงื•ืžื™ ื”ื™ื•ืžืŸ ืฉืื ื™ ืžืขื•ื ื™ื™ืŸ ื‘ื”ื ืฉื™ื—ื•ืช ืžืขืจื›ื•ืช ืžืœื‘ื“ ืฉื ื™ ืืœื”, ื”ืฉืชืžืฉืชื™ ืจืง ื‘ื”ื ืขื•ื“ ื™ื•ืชืจ.

ื”ืคืขืœืช ื‘ื™ืงื•ืจืช ืงืจื™ืืช ืžืขืจื›ืช ืฉืขื•ืŸ_ื”ื’ื“ืจืช ื–ืžืŸ ะธ ืงื‘ื™ืขืช ืฉืขืช ื”ื™ื•ื ื•ืชื ืกื” ืœืฉื ื•ืช ืืช ื”ืชืืจื™ืš:

# 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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”