ΠΡΠ° ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΡΠ½ΠΈΡΠ½ΡΡ
Π΄Π½Π΅ΠΉ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π·Π°Π½ΡΡΡ 2-3 ΠΌΠΈΠ½ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°.
ΠΠΎΠ»Π»Π΅Π³Π° ΠΏΠΎΠΏΡΠΎΡΠΈΠ» ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Ρ Π½Π΅Π³ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π‘Π΄Π΅Π»Π°Π», ΡΠ΄Π°Π» Π΅ΠΌΡ ΠΈ ΠΎΠ±ΡΠΎΠ½ΠΈΠ» Π½Π΅Π½Π°ΡΠΎΠΊΠΎΠΌ: Β«ΠΡΠ΅ΠΌΡ ΡΠΏΠ΅ΡΠΈΡ Π½Π° 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
ΠΡΠ΅ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΄ΠΎΠ»Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΈ ΡΡΡ ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Β«ΡΠΏΠ΅ΡΠΈΡΡΒ» Π²Π½ΠΎΠ²Ρ.
ΠΡΠΈ ΡΡΠΎΠΌ Π² Π»ΠΎΠ³Π°Ρ , Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠ½ΠΎΠΉ ΡΠΌΠ΅Π½Ρ, Π²ΠΈΠ΄ΠΈΠΌ Π»ΠΈΡΡ ΠΎΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ/Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΈ ΠΈΠ·ΡΠ΅Π΄ΠΊΠ° Resyncing ΠΎΡ 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
Resyncing ΠΏΡΠΎΠΏΠ°Π» ΠΈ Π² ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ Π»ΠΎΠ³ΠΈ Π΄Π΅Π²ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΡΡΡ.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Ρ tcpdump ΠΏΠΎ 123-ΠΌΡ ΠΏΠΎΡΡΡ Π½Π° Π²ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ . ΠΠΈΠΊΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π΅Ρ, Π½ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΡ ΡΠ°ΠΊΠΆΠ΅ Β«ΡΠ±Π΅Π³Π°Π΅ΡΒ».
ΠΡΠΈΠ±ΠΊΠ° Π²ΡΠΎΡΠ°Ρ. Π‘ΠΏΠ΅ΡΠΊΠ°
ΠΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°Ρ, Π° ΡΡ
ΠΎΠ΄ΠΈΡΡ Π½Π° Π²ΡΡ
ΠΎΠ΄Π½ΡΠ΅ Ρ ΠΏΠ»ΡΠ²ΠΎΠΉ Π½Π΅ΡΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π½Π΅ Ρ
ΠΎΡΠ΅ΡΡΡ (Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π² ΠΊΠΎΠ΄Π΅, ΡΡΠ°ΡΡΡ ΠΏΠΈΡΠ°Π»Π°ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π½ΠΈ).
Π ΡΡΡ Π²Π½ΠΎΠ²Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Ρ Π½Π°ΡΠ°Π» ΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π― Π³ΠΎΠ²ΠΎΡΡ Β«ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊΠΈΠΌΠΈ Π±Ρ Π½Π΅ Π±ΡΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΈΠΌΠΌΠΈΠ½Π³ΠΎΠ²ΡΠΌ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΏΠΎΡΠΎΠΊ DVB-S2 Π² IP. Π ΠΏΠΎΡΠΎΠΊΠ΅ DVB-S ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΈ, ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡΡ, ΡΠΊΡΠ΅ΠΌΠ±Π»Π΅ΡΡ ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΡ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ°ΡΠΎΠ². ΠΡΠ°ΠΉΠ²Π΅ΡΠ° DVB-S ΠΏΠ»Π°Ρ Π²ΠΊΠΎΠΌΠΏΠΈΠ»Π΅Π½Ρ Π² ΡΠ΄ΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠ±ΡΠ°ΡΡ DVB-S2-ΠΏΠΎΡΠΎΠΊ β ΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°Π±Π΅Π»ΠΈ ΠΈΠ΄ΡΡΠΈΠ΅ Ρ Β«ΡΠ°ΡΠ΅Π»ΠΎΠΊΒ». ΠΠ»Π°Π³ΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° ΡΡΠ΅Π½ΠΊΠΎΠΉ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΡΠΎΠΌΡ ΠΈ Π±ΡΡΡ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π² Π»ΠΎΠ³Π°Ρ Π±ΡΠ»ΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, ΡΡΠΎΠ³ΠΎ Π±Ρ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ, ΠΎΠΏΡΡΡ, ΠΆΠ΅, Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ.
ΠΡ ΠΈ ΡΠ°Π· ΠΌΡ ΡΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠ²ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΡΠ΄Π°Π»ΠΈΠΌ ΠΈ Π½Π°Π·Π΅ΠΌΠ½ΡΠ΅ β ΠΏΠΎΠΏΡΡΠ½ΠΎ Π²ΡΠ΄Π΅ΡΠ³ΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΊΠ°Π±Π΅Π»Ρ. Π‘Π΅ΡΠ²Π΅Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΡΠ΅Π·Π°Π½Π½ΡΠΌ ΠΎΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ, Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΡΡ Π²ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠ΅ΡΠ°Ρ.
Π Π°Π±ΠΎΡΠ°Ρ Π½Π΅Π΄Π΅Π»Ρ ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°, Π° ΡΠ°ΠΌ Π²ΠΎΠΏΡΠΎΡ Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π½Π΅ΠΌ Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΉΡΠΈ Π΄ΠΎΠΌΠΎΠΉ, Π½ΠΎ ΡΡΡ Ρ Π΄Π΅Π»Π°Ρ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠΌΠ°ΡΠΊΡ.
ΠΡΠΈΠ±ΠΊΠ° ΡΡΠ΅ΡΡΡ. Π‘ΠΎΠ²Π΅ΡΡΠΈΠΊΠΈ
ΠΠΈΠΊΠΎΠ³Π΄Π°! ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π½Π° ΡΠΎΡΡΠΌΠ°Ρ ΠΈ ΠΎΠ±ΡΠ΅ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ (Π°-Π»Ρ stackoverflow) ΡΠ°ΠΉΡΠ°Ρ , Π΅ΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ Π½Π° Π½Π΅Π³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π°ΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π³ΡΠ³Π»Π° ΠΈ ΠΏΡΠΎΡΠΈΡΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ man’Π°.
ΠΠ°Ρ ΠΏΠΎΡΠ»ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² google, ΠΏΠΎΡΠΈΡΠ°ΡΡ Π²ΡΡ ΡΠΎΡ ΠΆΠ΅ man ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΡΠΌΠ°/ΡΠ°ΠΉΡΠ°, Π½ΠΎ Π½Π΅ Π΄Π°Π΄ΡΡ ΠΎΡΠ²Π΅ΡΠ°.
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ°ΠΊΡΠΎΡΡ:
- Π½ΠΈΠΊΡΠΎ ΠΊΡΠΎΠΌΠ΅ Π²Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ;
- Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΊΠΈΡ ΠΆΠ΅ ΠΊΠ°ΠΊ Ρ Π²Π°Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΠ°ΠΊ ΠΈ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅:
- Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π²ΡΠ΄Π°ΡΡ Π²ΡΠ΅Ρ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅Β» Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·Π»Π°Π³Π°Π΅ΡΠ΅ ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠ° ΡΠΏΠΈΡΠ°Ρ Π½Π° Π½Π΅Π³ΠΎ;
- ΡΡΠ°ΡΡΠΈΠ½Π° (ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡ, ΡΡΠ°ΡΠΎΠΆΠΈΠ», Π°Π΄ΠΌΠΈΠ½) Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ°Π², Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ½Π° Π½Π΅ ΠΏΡΠ°Π²β¦ Π½Ρ Π²Ρ Π·Π½Π°Π΅ΡΠ΅…
ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π²Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ΅Π½Π·ΡΡΠ½ΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΊΠΈ, Π·Π½Π°ΡΠΈΡ Ρ Π²Π°Ρ ΠΊΡΠ΅ΠΏΠΊΠΈΠ΅ Π½Π΅ΡΠ²Ρ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅.
ΠΠ΅ΡΠ΅ΡΡΠ°ΡΠΌ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΠ²ΠΎΠΉ ΠΎΠΏΡΡ, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ, ΡΠΎΠ²Π΅ΡΡΠΈΠΊΠΎΠ² ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Π½Π΅ Β«ΠΎΠ±ΡΡΡΠ½ΡΡΡΒ» ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ.
Π Π°Π· Π½Π΅ΠΊΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π·Π½Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ².
ΠΠ°ΠΊ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΎΡΡΠ° Π»ΡΡΡΠΈΠ΅ Π΄ΠΎΠΊΠΈ β ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΡΠ°ΠΊ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ β ΡΡΠΎ Π°ΡΠ΄ΠΈΡ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ auditd.
ΠΠΈΠ½ΡΡΠΊΠ° ΡΠΎΠΌΠ½Π΅Π½ΠΈΡΠ― ΠΏΡΠΎΠ±Π΅ΠΆΠ°Π»ΡΡ ΠΏΠΎ ΠΌΠ°Π½Π°ΠΌ, Π½ΠΎ Π½Π΅ Π±ΡΠ» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π² Linux ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ clock_settime ΠΈ settimeofday, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Π²ΡΠ±ΡΠ°Π» Π²ΡΠ΅ Β«ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅Β» Π²ΡΠ·ΠΎΠ²Ρ:
# 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 ΠΈ settimeofday ΠΈ ΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΌΠ΅Π½ΠΈΡΡ Π΄Π°ΡΡ:
# 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
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π°Ρ date ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π½Π°ΠΌ chkcache_proces. ΠΠ½ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π² ΠΎΡΡΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ aureport ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π» Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎ Π΄Π°ΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ· Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, Π° ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠΈ Π²ΡΠ΅ΠΌΡ date -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");
}
ΠΠ°ΠΊ ΠΆΠ΅ ΠΌΠΈΠ»ΠΎ Π·Π΄Π΅ΡΡ ΡΠΌΠΎΡΡΠΈΡΡΡ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΡΠΎΡΠΊΠ° warning’aβ¦
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com