рдЬрд┐рддрдХреЗ рд╕реЛрдкреЗ рдХрд╛рдо, рддрд┐рддрдХреНрдпрд╛ рд╡реЗрд│рд╛ рдореА рдЪреБрдХрд╛ рдХрд░рддреЛ

рдЬрд┐рддрдХреЗ рд╕реЛрдкреЗ рдХрд╛рдо, рддрд┐рддрдХреНрдпрд╛ рд╡реЗрд│рд╛ рдореА рдЪреБрдХрд╛ рдХрд░рддреЛ

рд╣реЗ рдХреНрд╖реБрд▓реНрд▓рдХ рдХрд╛рдо рдПрдХрд╛ рд╢реБрдХреНрд░рд╡рд╛рд░реА рджреБрдкрд╛рд░реА рдЭрд╛рд▓реЗ рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╛рдареА реи-рей рдорд┐рдирд┐рдЯреЗ рд╡реЗрд│ рд▓рд╛рдЧрд▓рд╛ рдЕрд╕рд╛рд╡рд╛. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ.

рдПрдХрд╛ рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдиреЗ рдорд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдареАрдХ рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ. рдореА рддреЗ рдХреЗрд▓реЗ, рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рджрд┐рд▓реЗ рдЖрдгрд┐ рдЕрдирд╡рдзрд╛рдирд╛рдиреЗ рдЦрд╛рд▓реА рдкрдбрд▓реЛ: "рд╡реЗрд│ 5 рдорд┐рдирд┐рдЯреЗ рдЬрд▓рдж рдЖрд╣реЗ." рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рд╕реНрд╡рддрдГрдЪ рд╣рд╛рддрд╛рд│реВ рджреНрдпрд╛. рдЕрд░реНрдзрд╛ рддрд╛рд╕, рдПрдХ рддрд╛рд╕ рдЧреЗрд▓рд╛, рдЖрдгрд┐ рддреЛ рдЕрдЬреВрдирд╣реА рдлреБрдЧрд╡рд▓рд╛ рдЖрдгрд┐ рд╢рд╛рдВрддрдкрдгреЗ рд╢рд╛рдк рджрд┐рд▓рд╛.

тАЬрдореВрд░реНрдЦ! тАФ рдорд▓рд╛ рд╡рд╛рдЯрд▓реЗ, рд╕рд░реНрд╡реНрд╣рд░ рдХрдиреНрд╕реЛрд▓рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдд рдЖрд╣реЗ тАФ рдареАрдХ рдЖрд╣реЗ, рдореА рдЖрдгрдЦреА рдХрд╛рд╣реА рдорд┐рдирд┐рдЯреЗ рд╡рд┐рд╢реНрд░рд╛рдВрддреА рдШреЗрдИрди.тАЭ

рдмрдШреВрдпрд╛ ntp, rdate, sdwdate рд╕реНрдерд╛рдкрд┐рдд рдирд╛рд╣реА timesyncd рдЕрдХреНрд╖рдо рдЖрдгрд┐ рдЪрд╛рд▓реВ рдирд╛рд╣реА.

# 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) рд╕рд╛рдЗрдЯреНрд╕рд╡рд░ рдХрдзреАрд╣реА рдкреНрд░рд╢реНрди рд╡рд┐рдЪрд╛рд░реВ рдирдХрд╛ рдЬрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрддрд░рд╛рд╕рд╛рдареА Google рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдкреГрд╖реНрдард╛рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреЗ рдЖрдгрд┐ рдПрдХ рдордиреБрд╖реНрдп рдкреГрд╖реНрда рд╡рд╛рдЪрдгреЗ рдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ 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

рдорд▓рд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд▓реЙрдЧ рд╕реНрдерд╛рдирд╛рдВрдордзреНрдпреЗ рдЗрддрд░ рдХреЛрдгрддреЗрд╣реА рд▓реЙрдЧ рдирд╛рд╣реАрдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ syscalls рдпрд╛ рджреЛрди рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдореА рдлрдХреНрдд рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛.

рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдСрдбрд┐рдЯ рдЪрд╛рд▓рд╡рдд рдЖрд╣реЗ 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. рд╣реЗ рд╡рд░реАрд▓ рдЕрд╣рд╡рд╛рд▓рд╛рдд рд╕рдВрдкрд▓реЗ рдХрд╛рд░рдг рдмрд╛рдпрдирд░реАрдордзреВрди рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рдСрд░рдкреЛрд░реНрдЯрдиреЗ рдЖрдЙрдЯрдкреБрдЯрдЪреА рддрд╛рд░рдЦреЗрдиреБрд╕рд╛рд░ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд▓реА рдЖрдгрд┐ рдШрдЯрдирд╛ рдЖрдореНрд╣реА рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реЗрд│реА рдШрдбрд▓реА рддрд╛рд░реАрдЦ -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 - рдЖрдордЪрд╛ рдкрд░рдЬреАрд╡реА рд╕рд╛рдкрдбрд▓рд╛ рдЖрд╣реЗ. рддреНрдпрд╛рдЪреЗ "рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг" рд╡рд░реНрддрди рдЕрд╕реВрдирд╣реА, рд╕рд╢рд░реНрдд рдкреНрд░рд╡реЗрд╢ рдкреНрд░рдгрд╛рд▓реА рдирд╛рдХрд╛рд░рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ, рдкрд░рдВрддреБ рддрд░реАрд╣реА рдорд▓рд╛ рдЬрд╛рдгреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛