ʻO ka maʻalahi o ka hana, ʻoi aku ka nui o kaʻu hana hewa

ʻO ka maʻalahi o ka hana, ʻoi aku ka nui o kaʻu hana hewa

Ua kū mai kēia hana koʻikoʻi i ka ʻauinalā Pōʻalima a he 2-3 mau minuke o ka manawa. Ma keʻano laulā, e like me nā manawa a pau.

Ua noi mai kekahi hoa hana iaʻu e hoʻoponopono i ka palapala ma kāna kikowaena. Hana wau, hāʻawi iā ia a hāʻule me ka ʻike ʻole: "He 5 mau minuke wikiwiki ka manawa." Na ke kikowaena e lawelawe i ka synchronization pono'ī. He hapalua hora, he hora i hala, a ua hoohuoi mau oia me ka olelo hoino malie.

"Hūpō! - Ua manaʻo wau, e hoʻololi ana i ka console server - ʻae, e hoʻomaha wau no kekahi mau minuke.

E nana kakou ntp, rdate, sdwdate ʻaʻole i hoʻokomo ʻia manaohua kino a holo ʻole.

# 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

Maʻaneʻi e hoʻomaopopo koke wau ua pololei ka manawa mīkini: e maʻalahi ka hoʻokele hou aku.

ʻO kēia kahi i hoʻomaka ai ka moʻo hewa.

ʻO ka hewa mua. ʻO ka hilinaʻi iā ia iho

Kaomi-kaʻi...

# 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

Ua maikaʻi nā mea a pau, ua hoʻonohonoho ʻia ka manawa, ua kūpono ka manawa ʻōnaehana me ka hāmeʻa. "E lawe ʻoe," wahi aʻu a hoʻi i kaʻu ʻoihana.

“E lawe i ke aha? - ua huhū ka hoa hana. "ʻO ia ka manawa like!"

ʻOi aku ka nui o kāu hoʻoponopono ʻana i nā pilikia maʻamau, ʻoi aku ka nui o kou noʻonoʻo ʻana a ʻaʻole ʻoe e noʻonoʻo hou e ʻokoʻa ke kūlana o ka haneli a i ʻole tausani, akā ʻaʻole kēia manawa.

# 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

Ua hewa hou ka manawa ʻōnaehana.

E hoao hou kakou:

# 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

E hana ʻokoʻa kāua:

# 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

A penei:

# 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

Hoʻonohonoho ʻia ka manawa no kekona kekona, a hoʻomaka koke e "wikiwiki" hou.

I ka manawa like, i nā lāʻau, i ka manawa o ia hoʻololi manual, ʻike mākou i nā hōʻike ʻōnaehana wale nō i loli ka manawa, kēlā me kēia, ma ke ala pololei / hewa a i kekahi manawa. Hoʻopili hou mai 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

maanei

# ps afx | grep "[1]187"
 1187 ?        Ss     0:02 /lib/systemd/systemd --user

I kēia manawa, pono e ʻimi i ke kumu, akā ma luna o 18 mau makahiki o ka hoʻokele ʻana, ua hōʻiliʻili ka lolo i nā ʻikepili i nā hewa "manawa" a, ma waho o ka maʻamau, hoʻopiʻi hou i ka synchronization.
E hoopau loa kakou.

# 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

a ma nā lāʻau

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

Hoʻopili hou nalo aku a i ole ia, ua maemae na laau.

Ke nānā nei i nā hopena tcpdump ma ke awa 123 ma na mea a pau. ʻAʻohe noi, akā ke holo nei ka manawa.

Kupa ʻelua. Holokiki

Hoʻokahi hola i koe a hiki i ka hopena o ka pule hana, a ʻaʻole makemake wau e haʻalele no ka hopena pule me kahi pilikia liʻiliʻi i hoʻoholo ʻole ʻia (mai hoʻolohe i ka manawa ma ke code, ua kākau ʻia ka ʻatikala i nā lā aʻe. ).
A eia hou, ma kahi o ka ʻimi ʻana i ke kumu, hoʻomaka wau e hoʻāʻo e wehewehe i ka hopena. Ke ʻōlelo nei au he "invent" no ka mea ʻaʻole kūpono ke ʻano o ka wehewehe ʻana i ka hopena, he ala hewa ia no ka hoʻoponopono ʻana i ka pilikia.

He kikowaena streaming kēia kikowaena a hoʻololi i ke kahawai DVB-S2 i IP. Aia i loko o ke kahawai DVB-S nā kaha manawa, no laila, hoʻohana pinepine nā mea hoʻokipa, multiplexers, scramblers a me nā kīwī e hoʻonohonoho i ka uaki ʻōnaehana. Hoʻokumuʻia nā mea hoʻokele papa DVB-S i loko o ka kernel, no laila,ʻo ke ala wikiwiki loa e hōʻoia i ka weheʻiaʻana o ke kahawai DVB-S2,ʻo ia ke kāpae i nā kaula e hele mai ana mai nā "palapala". ʻO ka mea pōmaikaʻi, aia ke kikowaena ma hope o ka pā, pēlā nō.

ʻOiaʻiʻo, inā i loaʻa i nā lāʻau nā mea e pono ai ma laila, ʻaʻole i hiki mai kēia, akā ʻoi aku ka nui o kēlā, ma ka hope o ka ʻatikala.

ʻAe, ʻoiai ua wehe mākou i nā hōʻailona satellite āpau, e wehe pū mākou i nā mea terrestrial - i ka manawa like mākou e huki ai i nā kaula pūnaewele āpau. Hoʻokiʻoki ʻia ke kikowaena mai ka honua o waho a hana ʻokoʻa loa, akā ke holo wikiwiki nei ka uaki ʻōnaehana.

Ua pau ka pule hana, a ʻaʻole koʻikoʻi ka pilikia o ka lā/manawa ponoʻī, no laila hiki iā ʻoe ke hoʻi i ka home, akā eia wau ke hana hewa hou.

Kupa ekolu. Nā kākāʻōlelo

ʻAʻole loa! Mai nīnau i nā nīnau ma nā ʻaha kūkā a me nā pūnaewele kūikawā (a la stackoverflow) inā pono ka pane iā ia ma mua o ke aʻo ʻana i ka ʻaoʻao mua o Google a me ka heluhelu ʻana i hoʻokahi ʻaoʻao kanaka.

Na lākou e hoʻihoʻi iā ʻoe i Google, heluhelu i ke kanaka hoʻokahi a wehewehe kaulana i nā lula o ka ʻaha kūkā / kahua, akā ʻaʻole e hāʻawi iā ʻoe i kahi pane.

Eia kekahi mau kumu pahuhopu:

  • ʻAʻole hiki i kekahi ke ʻike i ka pilikia;
  • ʻaʻole hiki i kekahi ke hana i nā hoʻokolohua ma lalo o nā kūlana like me kāu

a me ke kumuhana:

  • ʻAʻole hiki iā ʻoe ke hāʻawi i nā manaʻo āpau no ka hoʻoponopono ʻana i ka pilikia, no ka mea, ua hele mua ʻoe me ke kuhikuhi "pololei" a ke hōʻike nei i ke ʻano o ka pilikia e nānā ana iā ia;
  • pololei mau ka foreman (moderator, old-timer, admin), inā hewa ka foreman... well, you know...

Inā, i ka pane ʻana i nā manaʻo, ua noho ʻoe i loko o nā palena o nā huaʻōlelo i hoʻopaʻa ʻia, a laila ua ikaika ʻoe.

olelo hooholo

ʻAʻole pono e hoʻokaʻawale i nā hana i maʻalahi a paʻakikī.

Hoʻopau mākou i ka hilinaʻi ʻana i kā mākou ʻike, nā helu, nā ʻōlelo aʻoaʻo a hoʻomaka ʻaʻole e "wehewehe" i ka hopena hopena, akā e ʻimi mau i ke kumu.

Ma muli o ka hoʻonohonoho ʻana o kekahi i ka manawa, pono e hoʻokō ʻia ke kelepona ʻōnaehana pili.

E like me ka palapala lako polokalamu ʻo nā palapala maikaʻi loa nā kumu, no laila ma ka hoʻokele ʻōnaehana ʻo ka mea kōkua maikaʻi loa ka loiloi, i kā mākou hihia auditd.

He manawa kānaluaUa hele au ma ka mana, akā ʻaʻole maopopo loa i hiki ke hoʻonohonoho ʻia ka manawa ma Linux hola_hoʻonohonoho и kau manawa, no laila no ka hoʻāʻo mua ua koho wau i nā kelepona "kūpono" āpau:

# 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

a me ka hoolei ana s390_runtime_instr, manawa, timerfd_create, ka mea auditctl ʻaʻole i ʻike, ua hoʻomaka mua i kahi loiloi ma ke ʻano:

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

Ma hope o ka hōʻoia ʻana ʻaʻohe mau lāʻau ʻē aʻe ma nā wahi log aʻu i makemake ai ʻūhāhā Ma waho aʻe o kēia mau mea ʻelua, ua hoʻohana hou au iā lākou.

Ke holo nei i ka loiloi kelepona ʻōnaehana hola_hoʻonohonoho и kau manawa a ho'āʻo e hoʻololi i ka lā:

# auditctl -a exit,always -S clock_settime -S settimeofday && date -s "2019-08-22 12:10:00" && sleep 5 && auditctl -D

Hoʻohui ʻia kahi lohi ʻelima mau kekona i mea e hōʻoia ʻia ai kā mākou "parasite" e hoʻoponopono i ka manawa.

E nānā kākou i ka hōʻike:

# 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

Eia mākou e ʻike ai i kā mākou la a ʻike ʻole ʻia e mākou chkcache_processes. Ua hoʻopau ʻia i ka hōʻike ma luna no ka mea ua hoʻokaʻawale ʻo aureport i ka hopena ma ka lā i ka hoʻololi ʻana mai ka binary, a ua kū ka hanana i ka manawa a mākou i hoʻonohonoho ai. lā -s "2019-08-22 12:10:00".
Na wai i hānau iā ia?

# 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 - ua loaʻa kā mākou parasite. ʻOiai ʻo kāna ʻano "ʻino", ʻaʻole hiki ke hōʻole i ka ʻōnaehana komo kūlana, akā makemake wau e ʻike oscam, WTF?

Loaʻa koke ka pane ma code kumu:

#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");
}

Nani ke nānā aku ma ʻaneʻi ʻōlelo ʻia laina ʻōlelo aʻo...

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka