ื“ื™ ืกื™ืžืคึผืœืขืจ ื“ื™ ืึทืจื‘ืขื˜, ื“ื™ ืžืขืจ ืึธืคื˜ ืื™ืš ืžืึทื›ืŸ ืžื™ืกื˜ื™ื™ืงืก

ื“ื™ ืกื™ืžืคึผืœืขืจ ื“ื™ ืึทืจื‘ืขื˜, ื“ื™ ืžืขืจ ืึธืคื˜ ืื™ืš ืžืึทื›ืŸ ืžื™ืกื˜ื™ื™ืงืก

ื“ื™ ื ื™ืฉื˜ื™ืง ืึทืจื‘ืขื˜ ืื™ื– ืื•ื™ืคื’ืขืฉื˜ืื ืขืŸ ืื™ื™ืŸ ืคืจื™ื™ื˜ืื’ ื ืึธื›ืžื™ื˜ืึธื’ ืื•ืŸ ื–ืึธืœ ื”ืึธื‘ืŸ ื’ืขื ื•ืžืขืŸ 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

ืจื™ืกื™ื ืกื™ื ื’ ืคืึทืจืฉื•ื•ื•ื ื“ืŸ ืื•ืŸ ืึทื ื“ืขืจืฉ ื“ื™ ืœืึธื’ืก ื–ืขื ืขืŸ ืคึผืจื™ืกื˜ื™ื ืข.

ื˜ืฉืขืง ื“ื™ ืงืึทื ืงืœื•ื–ืฉืึทื ื– ื˜ืงืคึผื“ื•ืžืคึผ ืื•ื™ืฃ ืคึผืึธืจื˜ 123 ืื•ื™ืฃ ืึทืœืข ื™ื ื˜ืขืจืคื™ื™ืกื™ื–. ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืจื™ืงื•ื•ืขืก, ืึธื‘ืขืจ ื“ื™ ืฆื™ื™ื˜ ืื™ื– ื ืึธืš ืคืœื™ืกื ื“ื™ืง ืึทื•ื•ืขืง.

ื˜ืขื•ืช ืฆื•ื•ื™ื™. ืจืึทืฉ

ืขืก ืื™ื– ื’ืขื‘ืœื™ื‘ืŸ ื ืฉืขื” ื‘ื™ื–ืŸ ืขื ื“ืข ืคื•ืŸ โ€‹โ€‹ื“ืขืจ ืืจื‘ืขื˜ ื•ื•ืืš, ืื•ืŸ ืื™ืš ื•ื•ื™ืœ ื ื™ืฉื˜ ืื•ื•ืขืงื’ื™ื™ืŸ ืคืืจืŸ ื•ื•ื™ืงืขื ื“ ืžื™ื˜ ื ื ื™ืฉื˜ื™ื’ืข ืื•ืžื’ืขืœื•ื™ื‘ื˜ืข ืคืจืื‘ืœืขื (ื ื™ืฉื˜ ืื›ื˜ื•ื ื’ ื’ืขื‘ืŸ ืฆื• ื“ื™ ืฆื™ื™ื˜ ืื™ืŸ ื“ื™ ืงืื•ื“, ื“ืขืจ ืืจื˜ื™ืงืœ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ื’ืขื•ื•ืืจืŸ ืื™ืŸ ื“ื™ ืงื•ืžืขื ื“ื™ื’ืข ื˜ืขื’ ).
ืื•ืŸ ื“ืึธ ื•ื•ื™ื“ืขืจ, ืึทื ืฉื˜ืึธื˜ ืฆื• ื–ื•ื›ืŸ ื“ื™ ืกื™ื‘ื”, ืื™ืš ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืงื•ืžืขืŸ ืžื™ื˜ ืึท ื“ืขืจืงืœืขืจื•ื ื’ ืคึฟืึทืจ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜. ืื™ืš ื–ืึธื’ืŸ "ืื•ื™ืกื˜ืจืึทื›ื˜ืŸ" ื•ื•ื™ื™ึทืœ ืงื™ื™ืŸ ืขื ื™ืŸ ื•ื•ื™ ืœืึทื“ื–ืฉื™ืงืึทืœ ื“ื™ ื“ืขืจืงืœืขืจื•ื ื’ ืคึฟืึทืจ ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืงืขืŸ ื–ื™ื™ืŸ, ืขืก ืื™ื– ืึท ืคืœืึธื“ ืฆื•ื’ืึทื ื’ ืฆื• ืกืึทืœื•ื•ื™ื ื’ ื“ื™ ืคึผืจืึธื‘ืœืขื.

ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื™ื– ืึท ืกื˜ืจื™ืžื™ื ื’ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืงืึทื ื•ื•ืขืจืฅ ื“ื™ DVB-S2 ื˜ื™ื™ึทืš ืฆื• IP. ื“ื™ DVB-S ื˜ื™ื™ึทืš ื›ึผื•ืœืœ ื˜ื™ืžืขืกื˜ืึทืžืคึผืก, ืึทื–ื•ื™ ืจื™ืกื™ื•ื•ืขืจื–, ืžื•ืœื˜ื™ืคึผืœืขืงืกืขืจืก, ืกืงืจืึทืžื‘ืึทืœื– ืื•ืŸ ื˜ืขืœืึทื•ื•ื™ื–ืฉืึทื ื– ืึธืคื˜ ื ื•ืฆืŸ ื–ื™ื™ ืฆื• ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื“ื™ ืกื™ืกื˜ืขื ื–ื™ื™ื’ืขืจ. DVB-S ื‘ืจืขื˜ ื“ืจื™ื•ื•ืขืจืก ื–ืขื ืขืŸ ื’ืขื‘ื•ื™ื˜ ืื™ืŸ ื“ื™ ืงืขืจืŸ, ืึทื–ื•ื™ ื“ื™ ืคืึทืกื˜ืึทืกื˜ ื•ื•ืขื’ ืฆื• ืขื ืฉื•ืจ ืึทื– ื“ื™ DVB-S2 ื˜ื™ื™ึทืš ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืื™ื– ืฆื• ื“ื™ืกืงืึทื ืขืงื˜ ื“ื™ ืงื™ื™ื‘ืึทืœื– ืคื•ืŸ ื“ื™ "ืคึผืœืึทื˜ืขืก". ืฆื•ืž ื’ืœื™ืง, ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื™ื– ื”ื™ื ื˜ืขืจ ื“ื™ ื•ื•ืึทื ื˜, ืึทื–ื•ื™ ื–ื™ื™ืŸ ืขืก.

ืคื•ืŸ ืงื•ืจืก, ืื•ื™ื‘ ื“ื™ ืœืึธื’ืก ื•ื•ืึธืœื˜ ืึทื ื˜ื”ืึทืœื˜ืŸ ื•ื•ืึธืก ื–ืึธืœ ื–ื™ื™ืŸ ื“ืึธืจื˜, ื“ืึธืก ื•ื•ืึธืœื˜ ื ื™ืฉื˜ ืคึผืึทืกื™ืจืŸ, ืึธื‘ืขืจ ืžืขืจ ืื•ื™ืฃ ื“ืขื, ื•ื•ื™ื“ืขืจ, ืื™ืŸ ื“ื™ ืกื•ืฃ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ.

ื ื•, ื–ื™ื ื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืึทืœืข ืกืึทื˜ืขืœื™ื˜ ืกื™ื’ื ืึทืœื–, ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ืขืจื“ื™ืฉืข - ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ืžื™ืจ ืฆื™ืขืŸ ืื•ื™ืก ืึทืœืข ื“ื™ ื ืขืฅ ืงื™ื™ื‘ืึทืœื–. ื“ืขืจ ืกืขืจื•ื•ืขืจ ื•ื•ืขืจื˜ ืืคื’ืขืฉื ื™ื˜ืŸ ืคื•ืŸ ื“ืขืจ ื“ืจื•ื™ืกื ื“ื™ืงืขืจ ื•ื•ืขืœื˜ ืื•ืŸ ืืจื‘ืขื˜ ืื™ื ื’ืื ืฆืŸ ืื•ื™ื˜ืื ืืžื™ืฉ, ืื‘ืขืจ ื“ืขืจ ืกื™ืกื˜ืขื ื–ื™ื™ื’ืขืจ ืื™ื– ื ืืš ืื™ื™ืœื™ื’.

ื“ื™ ืึทืจื‘ืขื˜ ื•ื•ืึธืš ืื™ื– ืื™ื‘ืขืจ, ืื•ืŸ ื“ื™ ื“ืึทื˜ืข / ืฆื™ื™ื˜ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื–ื™ืš ืื™ื– ื ื™ืฉื˜ ืงืจื™ื˜ื™ืฉ, ืึทื–ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื ืึธืจ ื’ื™ื™ืŸ ื”ื™ื™ื, ืึธื‘ืขืจ ื“ืึธ ืื™ืš ืžืึทื›ืŸ ืึท ื ื™ื™ึท ื’ืจื™ื™ึทื–.

ื˜ืขื•ืช ื“ืจื™ื™. ืึทื“ื•ื•ื™ื™ื–ืขืจื–

ืงื™ื™ื ืžืึธืœ! ืงื™ื™ื ืžืึธืœ ืคืจืขื’ืŸ ืคึฟืจืื’ืŸ ืื•ื™ืฃ ื’ืจื•ืคึผืขืก ืื•ืŸ ืึทืœื’ืขืžื™ื™ื ืข ืกืคึผืขืฉืึทืœื™ื™ื–ื“ (ืึท ืœืึท ืกื˜ืึทืงืงืึธื•ื•ืขืจืคืœืึธื•ื•) ื–ื™ื™ื˜ืœืขืš ืื•ื™ื‘ ื“ืขืจ ืขื ื˜ืคืขืจ ืฆื• ืขืก ืจื™ืงื•ื•ื™ื™ืขืจื– ืžืขืจ ื•ื•ื™ ืฆื• ืœืขืจื ืขืŸ ื“ื™ ืขืจืฉื˜ืขืจ ื‘ืœืึทื˜ ืคื•ืŸ Google ืื•ืŸ ืœื™ื™ืขื ืขืŸ ืื™ื™ืŸ ืžืขื ื˜ืฉ ื‘ืœืึทื˜.

ื–ื™ื™ ื•ื•ืขืœืŸ ื“ื™ืจ ืฆื•ืจื™ืงืฉื™ืงืŸ ืฆื• ื’ื•ื’ืœ, ืœื™ื™ืขื ืขืŸ ื“ืขื ื–ืขืœื‘ืŸ ืžืืŸ ืื•ืŸ ืคืืคื•ืœืขืจ ืžืกื‘ื™ืจ ื–ื™ื™ืŸ ื“ื™ ื›ืœืœื™ื ืคื•ื ืขื ืคืืจื•ื/ื–ื™ื™ื˜, ืื‘ืขืจ ื ื™ืฉื˜ ื’ืขื‘ืŸ ืืŸ ืขื ื˜ืคืขืจ.

ื“ืึธ ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ืึธื‘ื™ืขืงื˜ื™ื•ื• ืกื™ื‘ื•ืช:

  • ืงื™ื™ืŸ ืื™ื™ื ืขืจ ืึทื—ื•ืฅ ืื™ืจ ืงืขื ืขืŸ ื•ื•ื™ืกืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ื•ื•ื™ ื’ืขื–ื•ื ื˜;
  • ืงื™ื™ืŸ ืื™ื™ื ืขืจ ืงืขื ืขืŸ ื“ื•ืจื›ืคื™ืจืŸ ื˜ืขืกืฅ ืื•ื ื˜ืขืจ ื“ื™ ื–ืขืœื‘ืข ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ ื•ื•ื™ ื“ื™ื™ืŸ

ืื•ืŸ ืกืึทื‘ื“ื–ืฉืขืงื˜ื™ื•ื•:

  • ืื™ืจ ืงืขืŸ ื ื™ืฉื˜ ื’ืขื‘ืŸ ืึทืœืข ื“ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืคึฟืึทืจ ืกืึทืœื•ื•ื™ื ื’ ื“ืขื ืคึผืจืึธื‘ืœืขื, ื•ื•ื™ื™ึทืœ ืื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืงื•ืžืขืŸ ืžื™ื˜ ื“ื™ "ืจืขื›ื˜" ืจื™ื›ื˜ื•ื ื’ ืื•ืŸ ืคืึธืจืฉื˜ืขืœืŸ ื“ื™ ืขืกืึทื ืก ืคื•ืŸ ื“ื™ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืคืึธื•ืงื™ืกื™ื ื’ ืื•ื™ืฃ ืขืก;
  • ื“ืขืจ ืคืึธืจืžืึทืŸ (ืžืึธื“ืขืจืึทื˜ืึธืจ, ืึทืœื˜-ื˜ื™ื™ืžืขืจ, ืึทื“ืžื™ืŸ) ืื™ื– ืฉื˜ืขื ื“ื™ืง ืจืขื›ื˜, ืื•ื™ื‘ ื“ืขืจ ืคืึธืจืžืึทืŸ ืื™ื– ืคืึทืœืฉ ... ื ื•, ืื™ืจ ื•ื•ื™ืกืŸ ...

ืื•ื™ื‘, ื•ื•ืขืŸ ืื™ืจ ืขื ื˜ืคืขืจื˜ ืื•ื™ืฃ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, ืื™ืจ ื’ืขื‘ืœื™ื‘ืŸ ืื™ืŸ ื“ื™ ืœื™ืžืึทืฅ ืคื•ืŸ ืกืขื ืกืขืจื“ ื•ื•ืึธืงืึทื‘ื•ืœืึทืจื™, ืื™ืจ ื”ืึธื‘ืŸ ืฉื˜ืึทืจืง ื ืขืจื•ื•ืขืก.

ื‘ืึทืฉื™ื™ื“

ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื˜ื™ื™ืœืŸ ื˜ืึทืกืงืก ืื™ืŸ ืคึผืฉื•ื˜ ืื•ืŸ ืงืึธืžืคึผืœื™ืฆื™ืจื˜.

ืžื™ืจ ื”ืึทืœื˜ืŸ ืคืึทืจืœืึธื–ื  ื–ื™ืš ืื•ื ื“ื–ืขืจ ื“ืขืจืคืึทืจื•ื ื’, ืกื˜ืึทื˜ื™ืกื˜ื™ืง, ืึทื“ื•ื•ื™ื™ื–ืขืจื– ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ื ื™ืฉื˜ ืฆื• "ื“ืขืจืงืœืขืจืŸ" ื“ื™ ืกื•ืฃ ืจืขื–ื•ืœื˜ืึทื˜, ืึธื‘ืขืจ ืงืึทื ืกื™ืกื˜ืึทื ื˜ืœื™ ื–ื•ื›ืŸ ืคึฟืึทืจ ื“ื™ ืกื™ื‘ื”.

ื–ื™ื ื˜ ืขืžืขืฆืขืจ ืฉื˜ืขืœื˜ ื“ื™ ืฆื™ื™ื˜, ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืกื™ืกื˜ืขื ืจื•ืคืŸ ืžื•ื–ืŸ ืคึผืึทืกื™ืจืŸ.

ืคึผื•ื ืงื˜ ื•ื•ื™ ืื™ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ื“ื™ ื‘ืขืกื˜ืขืจ ื“ืึธืงื•ืžืขื ื˜ืŸ ื–ืขื ืขืŸ ื“ื™ ืžืงื•ืจื™ื, ืึทื–ื•ื™ ืื™ืŸ ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทืฆื™ืข ื“ืขืจ ื‘ืขืกื˜ืขืจ ืึทืกื™ืกื˜ืึทื ื˜ ืื™ื– ืงืึธื ื˜ืจืึธืœื™ืจืŸ, ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ ืึทื•ื“ื™ื˜ืขื“.

ืึท ืžืึธืžืขื ื˜ ืคื•ืŸ ืฆื•ื•ื™ื™ืคืœืื™ืš ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื“ื™ ืžืึทื ืึท, ืึธื‘ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื ื™ื˜ ืœืขื’ืึทืžืจืข ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืฆื™ื™ื˜ ืื™ืŸ ืœื™ื ื•ืงืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืฉื˜ืขืœืŸ ื‘ืœื•ื™ื– 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 ื”ืื˜ ื ื™ืฉื˜ ื“ืขืจืงืขื ืขืŸ ืขืก, ื˜ื›ื™ืœืขืก ืœืึธื ื˜ืฉื˜ ืึท ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื™ืŸ ื“ื™ ืคืึธืจืขื:

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

ื“ืึธ ืžื™ืจ ื–ืขืŸ ืื•ื ื“ื–ืขืจ ื“ืึทื˜ืข ืื•ืŸ ืื•ืžื‘ืึทืงืึทื ื˜ ืฆื• ืื•ื ื“ื– ื˜ืฉืงืงืึทื˜ืฉืข_ืคึผืจืึธืกืขืกืกืขืก. ืขืก ืขื ื“ื™ืงื˜ ื–ื™ืš ืื™ืŸ ื“ืขื ื‘ืึทืจื™ื›ื˜ ืื•ื™ื‘ืŸ ื•ื•ื™ื™ึทืœ 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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’