{"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\/pt\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp","title":{"rendered":"Para resolver o problema do ano 2038 no Glibc, prop\u00f5e-se a descontinua\u00e7\u00e3o do uso de utmp","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Thorsten Kukuk, l\u00edder do grupo de desenvolvimento de tecnologias futuras na SUSE (Future Technology Team, que desenvolve openSUSE MicroOS e SLE Micro), que antes liderou o projeto SUSE LINUX Enterprise Server por 10 anos, sugeriu eliminar o arquivo \/var\/run\/utmp nas distribui\u00e7\u00f5es como uma solu\u00e7\u00e3o completa para o problema do ano 2038 no Glibc. Todos os aplicativos que utilizam utmp, wtmp e lastlog devem ser adaptados para obter a lista de usu\u00e1rios por meio do systemd-logind.    <\/p>\n<p>Em 19 de janeiro de 2038, ocorrer\u00e1 um estouro dos contadores de tempo epoch definidos pelo tipo de 32 bits time_t. Na biblioteca Glibc, apesar da introdu\u00e7\u00e3o do tipo de 64 bits time_t, por raz\u00f5es de compatibilidade com aplicativos de 32 bits, em alguns casos nas plataformas de 64 bits, o tipo time_t de 32 bits ainda \u00e9 utilizado no espa\u00e7o do usu\u00e1rio. Um desses casos \u00e9 o arquivo \/var\/run\/utmp, que armazena dados dos usu\u00e1rios atualmente ativos no sistema. O campo de tempo no utmp \u00e9 definido usando um valor de 32 bits time_t.     <\/p>\n<p>Simplesmente substituir o campo de tempo no utmp de 32 bits para um tipo de 64 bits n\u00e3o \u00e9 vi\u00e1vel, pois isso levaria a uma altera\u00e7\u00e3o no ABI do Glibc (o tipo nas fun\u00e7\u00f5es, como login(), getutid() e utmpname() seria modificado) e \u00e0 quebra de compatibilidade com aplicativos que utilizam utmp, incluindo w, who, uptime, login, su, sudo, useradd, systemd, sysvinit, tcsh, gerenciadores de exibi\u00e7\u00e3o xterm, emacs, openssh, qemu, samba, rsyslog, etc. Devido \u00e0 abund\u00e2ncia de poss\u00edveis armadilhas e \u00e0 complexidade, a ideia de substituir o tipo time_t no utmp foi rejeitada pelos desenvolvedores do Glibc. Pela mesma raz\u00e3o, a op\u00e7\u00e3o de usar o espa\u00e7o livre na estrutura do utmp para adicionar um campo de 64 bits adicional de tempo foi descartada.    <\/p>\n<p>Al\u00e9m disso, alterar a largura de tipo em utmp n\u00e3o resolve outros problemas existentes, dos quais tamb\u00e9m gostar\u00edamos de nos livrar. Por exemplo, para gravar em utmp, s\u00e3o necess\u00e1rios privil\u00e9gios especiais, o que requer a concess\u00e3o de permiss\u00f5es adicionais aos processos. Outro problema est\u00e1 relacionado ao fato de que a arquitetura utmp permite que usu\u00e1rios locais realizem ataques DoS, levando \u00e0 interrup\u00e7\u00e3o do servi\u00e7o utmp atrav\u00e9s de manipula\u00e7\u00f5es com bloqueios de arquivos, tornando imposs\u00edvel garantir que o conte\u00fado de utmp reflete o estado real do sistema. Foi sugerido usar um processo em segundo plano adicional para gerenciar o acesso ao utmp, mas para tais tarefas j\u00e1 existe o processo systemd-logind, e iniciar mais um processo especializado n\u00e3o \u00e9 vi\u00e1vel (as aplica\u00e7\u00f5es teriam que enviar dados simultaneamente para dois manipuladores).     <\/p>\n<p>Mesmo ao resolver o problema de ataques DoS, o conte\u00fado do utmp permanece apenas informativo, n\u00e3o garantindo a refleti\u00e7\u00e3o da realidade. Por exemplo, diferentes emuladores e multiplexadores de terminais refletem seu estado de maneiras distintas \u2014 iniciar cinco terminais GNOME resultar\u00e1 na representa\u00e7\u00e3o de um usu\u00e1rio no utmp, enquanto iniciar cinco terminais konsole ou xterm no KDE resultar\u00e1 em seis. O comportamento do screen e do tmux tamb\u00e9m difere; no primeiro caso, cada sess\u00e3o \u00e9 contabilizada como um usu\u00e1rio separado, enquanto no segundo, apenas um usu\u00e1rio \u00e9 refletido em todas as sess\u00f5es.    <\/p>\n<p>Assim, como a solu\u00e7\u00e3o mais simples, sugere-se migrar todos os aplicativos para o uso do servi\u00e7o alternativo j\u00e1 existente, o systemd-logind, e depois que n\u00e3o houver mais programas relevantes acessando utmp, interromper a grava\u00e7\u00e3o em utmp. Para substituir o wtmp, sugere-se preparar interfaces de programa\u00e7\u00e3o para grava\u00e7\u00e3o e leitura de informa\u00e7\u00f5es sobre usu\u00e1rios utilizando systemd-journald. As fun\u00e7\u00f5es necess\u00e1rias para fornecer dados substitutivos de utmp atrav\u00e9s da libsystemd com o uso da API sd-login.h ou via DBUS j\u00e1 est\u00e3o inclu\u00eddas na base de c\u00f3digo da pr\u00f3xima vers\u00e3o do systemd 254.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/news\/dlya-izbavleniya-glibc-ot-problemy-2038-goda-predlozheno-prekratit-ispolzovanie-utmp\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Para eliminar o problema do ano 2038 no Glibc, foi sugerido interromper o uso de utmp | ProHoster","description":"Thorsten Kukuk, l\u00edder do grupo de desenvolvimento de tecnologias futuras na SUSE (Future Technology Team, desenvolve openSUSE MicroOS e SLE Micro), que anteriormente liderou o projeto SUSE LINUX Enterprise por 10 anos.","canonical_url":"https:\/\/prohoster.info\/pt\/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":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/107119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=107119"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/107119\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=107119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=107119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=107119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}