Liberigo de systemd sistemmanaĝero 252 kun UKI (Unified Kernel Image) subteno

Post kvin monatoj da evoluo, estis prezentita la liberigo de la sistemmanaĝero systemd 252. La ŝlosila ŝanĝo en la nova versio estis la integriĝo de subteno por modernigita lanĉa procezo, kiu permesas kontroli ne nur la kernon kaj ekŝargilon, sed ankaŭ komponantojn. de la baza sistema medio uzante ciferecajn subskribojn.

La proponita metodo implikas la uzon de unuigita kernelbildo UKI (Unified Kernel Image) dum ŝarĝo, kiu kombinas pritraktilon por ŝarĝi la kernon de UEFI (UEFI-ŝargo-stubo), Linuksan kernbildon kaj la initrd-sisteman medion ŝarĝitan en memoron, uzatan. por komenca inicialigo ĉe la stadio antaŭ muntado de la radiko FS . La UKI-bildo estas pakita kiel ununura rulebla dosiero en PE-formato, kiu povas esti ŝarĝita per tradiciaj ekŝargiloj aŭ vokita rekte de la UEFI-firmvaro. Kiam oni vokas de UEFI, eblas kontroli la integrecon kaj fidindecon de la cifereca subskribo de ne nur la kerno, sed ankaŭ la enhavon de la initrd.

Por kalkuli la parametrojn de la TPM PCR (Trusted Platform Module Platform Configuration Register) registroj uzataj por monitori la integrecon kaj generi ciferecan subskribon de la UKI-bildo, nova utileco systemd-mezuro estas inkluzivita. La publika ŝlosilo kaj akompanaj PCR-informoj uzataj en la subskribo povas esti enigitaj rekte en la UKI-ŝargbildon (la ŝlosilo kaj subskribo estas konservitaj en PE-dosiero en la kampoj '.pcrsig' kaj '.pcrkey') kaj ĉerpitaj de ĝi per ekstera. aŭ internaj utilecoj.

Aparte, la systemd-cryptsetup, systemd-cryptenroll kaj systemd-creds-servaĵoj estis adaptitaj por uzi ĉi tiujn informojn, per kiuj vi povas certigi, ke ĉifritaj diskdiskodiskoj estas ligitaj al ciferece subskribita kerno (en ĉi tiu kazo, aliro al la ĉifrita sekcio. estas provizita nur se la UKI-bildo trapasis konfirmon per cifereca subskribo bazita sur parametroj situantaj en TPM).

Aldone, la systemd-pcrphase-ilaĵo estas inkluzivita, kiu ebligas al vi kontroli la ligon de diversaj lanĉaj stadioj al parametroj situantaj en la memoro de kriptaj procesoroj, kiuj subtenas la specifon TPM 2.0 (ekzemple, vi povas disponigi la malĉifritan ŝlosilon LUKS2-diskodo nur en la initrd-bildon kaj bloki aliron al ĝi ĉe postaj etapoj elŝutoj).

Iuj aliaj ŝanĝoj:

  • Certigas, ke la defaŭlta loko estas C.UTF-8 krom se malsama loko estas specifita en la agordoj.
  • Nun eblas plenumi kompletan servon antaŭdifinitan operacion ("systemctl preset") dum la unua ekkuro. Ebligi antaŭstaraĵojn ĉe lanĉtempo postulas konstrui kun la opcio "-Dfirst-boot-full-preset", sed estas planita esti ebligita defaŭlte en estontaj eldonoj.
  • La uzantadministradunuoj implikas CPU-rimedoregilon, kiu ebligis certigi ke la CPUWeight-agordoj estas aplikitaj al ĉiuj tranĉaĵunuoj uzitaj por dividi la sistemon en partojn (app.slice, background.slice, session.slice) por izoli resursojn inter malsamaj uzantservoj, konkurante pri CPU-resursoj. CPUWeight ankaŭ subtenas la "senaktivan" valoron por aktivigi la taŭgan rimedan provizoreĝimon.
  • En provizoraj ("pasaj") unuoj kaj en la systemd-repart ilo, superregado de agordoj estas permesitaj kreante aldonajn dosierojn en la dosierujo /etc/systemd/system/name.d/.
  • Por sistembildoj, la subten-finita flago estas fiksita, determinante ĉi tiun fakton surbaze de la valoro de la nova parametro "SUPPORT_END=" en la /etc/os-release-dosiero.
  • Aldonitaj agordoj "ConditionCredential=" kaj "AssertCredential=", kiuj povas esti uzataj por ignori aŭ kraŝi unuojn se certaj akreditaĵoj ne ĉeestas en la sistemo.
  • Aldonita "DefaultSmackProcessLabel=" kaj "DefaultDeviceTimeoutSec="" agordojn al system.conf kaj user.conf por difini la defaŭltan SMACK-sekurecnivelon kaj unuo-aktivigan tempon.
  • En la agordoj "ConditionFirmware=" kaj "AssertFirmware=", la kapablo specifi individuajn SMBIOS-kampojn estis aldonita, ekzemple, por lanĉi unuon nur se la kampo /sys/class/dmi/id/board_name enhavas la valoron "Persona". Board", vi povas specifi "ConditionFirmware=smbios" -field (board_name = "Persona Tabulo")".
  • Dum la inicialigprocezo (PID 1), la kapablo importi akreditaĵojn de SMBIOS-kampoj (Tipo 11, "OEM-vendŝnuroj") estis aldonita al ilia difino per qemu_fwcfg, kiu simpligas la provizon de akreditaĵoj al virtualaj maŝinoj kaj forigas la bezono de triaj iloj kiel cloud -init kaj ignition.
  • Dum haltigo, la logiko por malmuntado de virtualaj dosiersistemoj (proc, sys) estis ŝanĝita kaj informoj pri procezoj blokantaj la malmuntadon de dosiersistemoj estas konservitaj en la protokolo.
  • La sistemvoka filtrilo (SystemCallFilter) ebligas aliron al la sistemvoko riscv_flush_icache defaŭlte.
  • La sd-boot ekŝargilo aldonas la kapablon lanĉi en miksita reĝimo, en kiu la 64-bita Linukso-kerno funkcias de 32-bita UEFI-firmvaro. Aldonita eksperimenta kapablo aŭtomate apliki SecureBoot-ŝlosilojn de dosieroj trovitaj en ESP (EFI-sistemdiskodo).
  • Novaj opcioj estis aldonitaj al la bootctl ilo: "—all-architectures" por instali binarojn por ĉiuj subtenataj EFI-arkitekturoj, "—root=" kaj "—image=" por labori kun dosierujo aŭ diskobildo, "—install-source =" por difini fonton por instalado, "-efi-boot-option-description=" por kontroli lantajn enirajn nomojn.
  • La komando 'list-automounts' estis aldonita al la systemctl ilo por montri liston de aŭtomate muntitaj dosierujoj kaj la opcio "--image=" por ekzekuti komandojn rilate al la specifita diskbildo. Aldonitaj opcioj "--state=" kaj "--type=" al la komandoj 'show' kaj 'status'.
  • systemd-networkd aldonis opciojn "TCPCongestionControlAlgorithm=" por elekti la TCP-kongestan kontrolalgoritmon, "KeepFileDescriptor=" por konservi la dosierpriskribilon de TUN/TAP-interfacoj, "NetLabel=" por agordi NetLabels, "RapidCommit=" por akceli agordon per DHCPv6 (RFC 3315). La parametro "RouteTable=" permesas specifi la nomojn de vojtabuloj.
  • systemd-nspawn permesas la uzon de relativaj dosiervojoj en la opcioj "--bind=" kaj "--overlay=". Aldonita subteno por la parametro 'rootidmap' al la opcio "--bind=" por ligi la radikan uzantidentigilon en la ujo al la posedanto de la muntita dosierujo ĉe la gastiga flanko.
  • systemd-resolved uzas OpenSSL kiel ĝian ĉifradan backend defaŭlte (gnutls-subteno estas konservita kiel opcio). Nesubtenataj DNSSEC-algoritmoj nun estas traktataj kiel nesekuraj anstataŭ redoni eraron (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles kaj systemd-sysctl efektivigas la kapablon transdoni agordojn per akreditaĵo-stoka mekanismo.
  • Aldonita 'compare-versions' komando al systemd-analyze por kompari ŝnurojn kun versinumeroj (similaj al 'rpmdev-vercmp' kaj 'dpkg --compare-versions'). Aldonis la kapablon filtri unuojn per masko al la komando 'systemd-analyze dump'.
  • Kiam vi elektas plurŝtupan dormreĝimon (suspendi-tiam-vintrodormi), la tempo pasigita en standby reĝimo nun estas elektita surbaze de la prognozo de restanta bateria vivo. Tuja transiro al dormreĝimo okazas kiam restas malpli ol 5% de bateria ŝargo.
  • Nova eligreĝimo "-o short-delta" estis aldonita al 'journalctl', montrante la tempodiferencon inter malsamaj mesaĝoj en la protokolo.
  • systemd-repart aldonas subtenon por kreado de sekcioj kun la dosiersistemo Squashfs kaj sekcioj por dm-verity, inkluzive kun ciferecaj subskriboj.
  • Aldonita "StopIdleSessionSec=" agordo al systemd-logind por fini neaktivan seancon post specifita tempodaŭro.
  • Systemd-cryptenroll aldonis opcion "--unlock-key-file=" por ĉerpi la deĉifradan ŝlosilon el dosiero anstataŭ instigi la uzanton.
  • Nun eblas ruli la ilon systemd-growfs en medioj sen udev.
  • systemd-backlight plibonigis subtenon por sistemoj kun pluraj grafikaj kartoj.
  • La permesilo por la kodekzemploj provizitaj en la dokumentaro estis ŝanĝita de CC0 al MIT-0.

Ŝanĝoj kiuj rompas kongruecon:

  • Kiam oni kontrolas la kernan versinumeron uzante la direktivon ConditionKernelVersion, oni nun uzas simplan ĉenkomparo en la operatoroj '=' kaj '!=', kaj se la kompara operatoro tute ne estas specifita, glob-maska ​​kongruo povas esti uzata per la signoj '*', '?' Kaj '[', ']'. Por kompari stverscmp() stilajn versiojn, uzu la '<', '>', '<=' kaj '>=' funkciigistojn.
  • La SELinux-etikedo uzata por kontroli aliron de unuodosiero nun estas legita en la tempo, kiam la dosiero estas ŝarĝita, prefere ol en la tempo de alirkontrolo.
  • La kondiĉo "ConditionFirstBoot" nun estas ekigita ĉe la unua ekfunkciigo de la sistemo nur rekte ĉe la startstadio kaj resendas "false" kiam oni vokas unuojn post kiam la ekkuro estas kompleta.
  • En 2024, systemd planas ĉesi subteni la rimedan limigan mekanismon de cgroup v1, kiu estis malrekomendita en systemd-eldono 248. Administrantoj estas konsilitaj zorgi anticipe pri migrado de cgroup v2-bazitaj servoj al cgroup v1. La ŝlosila diferenco inter cgroups v2 kaj v1 estas la uzo de ofta cgroups-hierarkio por ĉiuj specoj de resursoj, anstataŭe de apartaj hierarkioj por asignado de CPU-resursoj, por reguligado de memorkonsumo, kaj por I/O. Apartaj hierarkioj kondukas al malfacilaĵoj en organizado de interagado inter prizorgantoj kaj al kromaj kernaj rimedkostoj dum aplikado de reguloj por procezo referencita en malsamaj hierarkioj.
  • En la dua duono de 2023, ni planas ĉesigi subtenon por dividitaj dosierujoj, kie /usr estas muntita aparte de la radiko, aŭ /bin kaj /usr/bin, /lib kaj /usr/lib estas apartigitaj.

fonto: opennet.ru

Aldoni komenton