{"id":107119,"date":"2023-03-06T12:48:15","date_gmt":"2023-03-06T10:48:15","guid":{"rendered":"https:\/\/prohoster.info\/?p=107119"},"modified":"2023-03-06T16:13:41","modified_gmt":"2023-03-06T14:13:41","slug":"dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp","title":{"rendered":"Aby pozby\u0107 si\u0119 problemu roku 2038 w Glibc, zaproponowano zaprzestanie korzystania z utmp","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Thorsten Kukuk, lider zespo\u0142u ds. rozwoju technologii przysz\u0142o\u015bci w firmie SUSE, kt\u00f3ry rozwija openSUSE MicroOS i SLE Micro, a wcze\u015bniej przez 10 lat kierowa\u0142 projektem SUSE LINUX Enterprise Server, zaproponowa\u0142 usuni\u0119cie pliku \/var\/run\/utmp w dystrybucjach, aby ca\u0142kowicie rozwi\u0105za\u0107 problem roku 2038 w Glibc. Wszelkie aplikacje wykorzystuj\u0105ce utmp, wtmp i lastlog powinny przej\u015b\u0107 na pozyskiwanie listy u\u017cytkownik\u00f3w przy u\u017cyciu systemd-logind.    <\/p>\n<p>19 stycznia 2038 roku nast\u0105pi przepe\u0142nienie licznik\u00f3w czasu epokowego, kt\u00f3re s\u0105 zadane przez 32-bitowy typ time_t. W bibliotece Glibc, mimo wdro\u017cenia 64-bitowego typu time_t, aby zachowa\u0107 zgodno\u015b\u0107 z aplikacjami 32-bitowymi, w niekt\u00f3rych przypadkach na platformach 64-bitowych nadal stosuje si\u0119 32-bitowy typ time_t. Jednym z takich przypadk\u00f3w jest plik \/var\/run\/utmp, kt\u00f3ry przechowuje dane o u\u017cytkownikach aktualnie pracuj\u0105cych w systemie. Pole z czasem w utmp jest zadawane za pomoc\u0105 32-bitowej warto\u015bci time_t.     <\/p>\n<p>Nie mo\u017cna po prostu zamieni\u0107 pola z czasem w utmp z 32-bitowego na 64-bitowy typ, poniewa\u017c spowoduje to zmian\u0119 ABI Glibc (zmieni si\u0119 typ w funkcjach takich jak login(), getutid() i utmpname()) oraz naruszenie zgodno\u015bci z aplikacjami korzystaj\u0105cymi z utmp, w tym w\u015br\u00f3d nich w, who, uptime, login, su, sudo, useradd, systemd, sysvinit, tcsh, mened\u017cery wy\u015bwietlaczy xterm, emacs, openssh, qemu, samba, rsyslog itp. Z powodu licznych mo\u017cliwych pu\u0142apek i trudno\u015bci koncepcja zamiany w utmp typu time_t zosta\u0142a odrzucona przez programist\u00f3w Glibc. Z tego samego powodu odrzucono wariant wykorzystania wolnej przestrzeni w strukturze utmp do dodania dodatkowego 64-bitowego pola czasowego.    <\/p>\n<p>Dodatkowo zmiana typ\u00f3w w utmp nie rozwi\u0105zuje innych istniej\u0105cych problem\u00f3w, kt\u00f3rych r\u00f3wnie\u017c chcieliby\u015bmy si\u0119 pozby\u0107. Na przyk\u0142ad, aby zapisa\u0107 dane w utmp wymagane s\u0105 specjalne prawa, co skutkuje konieczno\u015bci\u0105 przyznawania procesom dodatkowych przywilej\u00f3w. Innym problemem jest to, \u017ce architektura utmp pozwala lokalnym u\u017cytkownikom na przeprowadzanie atak\u00f3w DoS, kt\u00f3re mog\u0105 prowadzi\u0107 do zak\u0142\u00f3ce\u0144 w dzia\u0142aniu us\u0142ugi utmp poprzez manipulacje blokadami na pliku, przez co nie ma pewno\u015bci, \u017ce zawarto\u015b\u0107 utmp odzwierciedla rzeczywisty stan w systemie. Proponowano u\u017cycie dodatkowego procesu w tle do obs\u0142ugi dost\u0119pu do utmp, jednak do takich zada\u0144 ju\u017c istnieje proces systemd-logind, a uruchamianie jeszcze jednego wyspecjalizowanego procesu nie jest celowe (aplikacje musia\u0142yby przesy\u0142a\u0107 dane jednocze\u015bnie do dw\u00f3ch obs\u0142ugiwaczy).     <\/p>\n<p>Nawet w przypadku rozwi\u0105zania problemu z atakami DoS, zawarto\u015b\u0107 utmp pozostaje jedynie informacyjna, nie gwarantuj\u0105c odzwierciedlenia rzeczywistej rzeczywisto\u015bci. Na przyk\u0142ad r\u00f3\u017cne emulatory i muxery terminali r\u00f3\u017cnie odzwierciedlaj\u0105 swoje stany \u2014 uruchomienie pi\u0119ciu terminali GNOME doprowadzi do odzwierciedlenia w utmp jednego u\u017cytkownika, natomiast uruchomienie pi\u0119ciu terminali konsole lub xterm w KDE \u2014 sze\u015bciu. Podobnie r\u00f3\u017cni si\u0119 zachowanie screen i tmux; w pierwszym przypadku ka\u017cda sesja jest traktowana jako osobny u\u017cytkownik, podczas gdy w drugim odzwierciedla si\u0119 tylko jeden u\u017cytkownik na wszystkie sesje.    <\/p>\n<p>W rezultacie, jako najprostsze rozwi\u0105zanie proponuje si\u0119 przeniesienie wszystkich aplikacji na korzystanie z ju\u017c istniej\u0105cej alternatywy systemd-logind, a po zaprzestaniu pracy wszystkich aktualnych program\u00f3w korzystaj\u0105cych z utmp, zaprzestan\u0105 zapisywania w utmp. W celu zast\u0105pienia wtmp proponuje si\u0119 przygotowanie interfejs\u00f3w programowych do zapisu i odczytu informacji o u\u017cytkownikach za pomoc\u0105 systemd-journald. W kodzie bazowym kolejnej wersji systemd 254 ju\u017c zawarto niezb\u0119dne funkcje do dostarczania danych zast\u0119puj\u0105cych utmp poprzez libsystemd z wykorzystaniem API sd-login.h lub przez DBUS.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58750\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0422\u043e\u0440\u0441\u0442\u0435\u043d \u041a\u0443\u043a\u0443\u043a (Thorsten Kukuk), \u043b\u0438\u0434\u0435\u0440 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 SUSE (Future Technology Team, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 openSUSE MicroOS \u0438 SLE Micro), \u0440\u0430\u043d\u0435\u0435 10 \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c SUSE LINUX Enterprise Server, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 \/var\/run\/utmp \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b 2038 \u0433\u043e\u0434\u0430 \u0432 Glibc. \u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 utmp, wtmp \u0438 lastlog, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-107119","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0422\u043e\u0440\u0441\u0442\u0435\u043d \u041a\u0443\u043a\u0443\u043a (Thorsten Kukuk), \u043b\u0438\u0434\u0435\u0440 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 SUSE (Future Technology Team, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 openSUSE MicroOS \u0438 SLE Micro), \u0440\u0430\u043d\u0435\u0435 10 \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c SUSE LINUX Enterprise.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043b\u044f \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f Glibc \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b 2038 \u0433\u043e\u0434\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 utmp | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0422\u043e\u0440\u0441\u0442\u0435\u043d \u041a\u0443\u043a\u0443\u043a (Thorsten Kukuk), \u043b\u0438\u0434\u0435\u0440 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 SUSE (Future Technology Team, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 openSUSE MicroOS \u0438 SLE Micro), \u0440\u0430\u043d\u0435\u0435 10 \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c SUSE LINUX Enterprise.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-03-06T10:48:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-03-06T14:13:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Aby uwolni\u0107 Glibc od problemu roku 2038, proponuje si\u0119 zaprzestanie u\u017cycia utmp | ProHoster","description":"Thorsten Kukuk, lider zespo\u0142u zajmuj\u0105cego si\u0119 rozwojem technologii przysz\u0142o\u015bci w firmie SUSE (Future Technology Team, rozwija openSUSE MicroOS i SLE Micro), kt\u00f3ry wcze\u015bniej przez 10 lat kierowa\u0142 projektem SUSE LINUX Enterprise.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043b\u044f \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f Glibc \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b 2038 \u0433\u043e\u0434\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 utmp | ProHoster","og:description":"\u0422\u043e\u0440\u0441\u0442\u0435\u043d \u041a\u0443\u043a\u0443\u043a (Thorsten Kukuk), \u043b\u0438\u0434\u0435\u0440 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 SUSE (Future Technology Team, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 openSUSE MicroOS \u0438 SLE Micro), \u0440\u0430\u043d\u0435\u0435 10 \u043b\u0435\u0442 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c SUSE LINUX Enterprise.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-03-06T10:48:15+00:00","article:modified_time":"2023-03-06T14:13:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/107119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=107119"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/107119\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=107119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=107119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=107119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}