Release fan systemd system manager 252 mei UKI (Unified Kernel Image) stipe

Nei fiif moannen fan ûntwikkeling waard de frijlitting fan 'e systeembehearder systemd 252 presintearre. fan de basis systeem omjouwing mei help fan digitale hantekeningen.

De foarstelde metoade omfettet it brûken fan in ferienige kernelôfbylding UKI (Unified Kernel Image) by it laden, dy't in handler kombinearret foar it laden fan de kernel fan UEFI (UEFI bootstub), in Linux kernelôfbylding en de initrd systeemomjouwing laden yn it ûnthâld, brûkt foar inisjele inisjalisaasje op it poadium foar it montearjen fan de root FS. De UKI-ôfbylding is ynpakt as ien útfierber bestân yn PE-formaat, dat kin wurde laden mei tradisjonele bootloaders of direkt oproppen fan 'e UEFI-firmware. As UEFI neamd wurdt, is it mooglik om de yntegriteit en betrouberens fan 'e digitale hantekening fan net allinich de kearn te ferifiearjen, mar ek de ynhâld fan' e initrd.

Om de parameters fan 'e TPM PCR (Trusted Platform Module Platform Configuration Register) registers te berekkenjen dy't brûkt wurde om de yntegriteit te kontrolearjen en in digitale hantekening fan' e UKI-ôfbylding te generearjen, is in nije utility systemd-maatregel opnommen. De iepenbiere kaai en byhearrende PCR-ynformaasje dy't brûkt wurdt yn 'e hantekening kinne direkt wurde ynbêde yn' e UKI-bootôfbylding (de kaai en hantekening wurde bewarre yn in PE-bestân yn 'e '.pcrsig' en '.pcrkey' fjilden) en derút ekstrahearre troch eksterne of ynterne nutsbedriuwen.

Benammen de utilities systemd-cryptsetup, systemd-cryptenroll en systemd-creds binne oanpast om dizze ynformaasje te brûken, wêrmei jo kinne soargje dat fersifere skiifpartysjes bûn binne oan in digitaal ûndertekene kearn (yn dit gefal tagong ta de fersifere partysje wurdt allinich levere as de UKI-ôfbylding ferifikaasje hat trochjûn troch digitale hantekening basearre op parameters yn TPM).

Derneist is it hulpprogramma systemd-pcrphase opnommen, wêrtroch jo de bining fan ferskate bootstadia kinne kontrolearje oan parameters yn it ûnthâld fan kryptoprocessors dy't de TPM 2.0-spesifikaasje stypje (jo kinne bygelyks de LUKS2-partition-ûntsiferingskaai allinich beskikber meitsje yn de initrd-ôfbylding en blokkearje tagong ta it yn lettere stadia downloads).

Guon oare feroarings:

  • Soarget derfoar dat de standert locale is C.UTF-8 útsein as in oare locale is oantsjutte yn de ynstellings.
  • It is no mooglik om in folsleine tsjinst-preset-operaasje ("systemctl-preset") út te fieren by de earste boot. It ynskeakeljen fan presets by it opstarten fereasket bouwen mei de "-Dfirst-boot-full-preset" opsje, mar is pland om standert ynskeakele te wurden yn takomstige releases.
  • De brûkersbehear-ienheden befetsje in CPU-boarnekontrôler, dy't it mooglik makke om te soargjen dat de CPUWeight-ynstellingen tapast wurde op alle slice-ienheden dy't brûkt wurde om it systeem yn dielen te splitsen (app.slice, background.slice, session.slice) om boarnen te isolearjen tusken ferskate brûkerstsjinsten, konkurrearje foar CPU-boarnen. CPUWeight stipet ek de "idle" wearde om de passende boarne-foarsjenningsmodus te aktivearjen.
  • Yn tydlike ("fergonklike") ienheden en yn it systemd-repart-hulpprogramma is oerskriuwen fan ynstellings tastien troch it meitsjen fan drop-in-bestannen yn 'e map /etc/systemd/system/name.d/.
  • Foar systeemôfbyldings wurdt de flagge mei stipe einige ynsteld, dit feit bepaald op basis fan de wearde fan 'e nije parameter "SUPPORT_END=" yn it /etc/os-release-bestân.
  • Tafoege "ConditionCredential =" en "AssertCredential =" ynstellings, dy't kinne wurde brûkt om ienheden te negearjen of te crashen as bepaalde bewiisbrieven net oanwêzich binne yn it systeem.
  • Tafoege "DefaultSmackProcessLabel =" en "DefaultDeviceTimeoutSec =" ynstellings oan system.conf en user.conf om it standert SMACK-befeiligingsnivo en ienheidsaktivaasjetiid te definiearjen.
  • Yn 'e ynstellings "ConditionFirmware=" en "AssertFirmware=" is de mooglikheid tafoege om yndividuele SMBIOS-fjilden op te jaan, bygelyks om in ienheid allinich te starten as it fjild /sys/class/dmi/id/board_name de wearde "Custom" befettet Board", kinne jo "ConditionFirmware=smbios" -field(board_name = "Custom Board") oantsjutte.
  • Tidens it inisjalisaasjeproses (PID 1) is de mooglikheid om bewiisbrieven te ymportearjen fan SMBIOS-fjilden (Type 11, "OEM-ferkeaperstrings") taheakke neist har definysje fia qemu_fwcfg, wat it leverjen fan bewiisbrieven oan firtuele masines simplifies en elimineert de ferlet fan ark fan tredden lykas cloud -init en ignition.
  • Tidens it ôfsluten is de logika foar it ûntsluten fan firtuele bestânsystemen (proc, sys) feroare en ynformaasje oer prosessen dy't it ûntsluten fan bestânsystemen blokkearje, wurdt bewarre yn it log.
  • It systeemopropfilter (SystemCallFilter) jout standert tagong ta de riscv_flush_icache-systeemoprop.
  • De sd-boot bootloader foeget de mooglikheid ta om te booten yn mingde modus, wêryn de 64-bit Linux-kernel rint fan 32-bit UEFI-firmware. Eksperimintele mooglikheid tafoege om automatysk SecureBoot-kaaien oan te passen fan bestannen fûn yn ESP (EFI-systeemdieling).
  • Nije opsjes binne tafoege oan it bootctl-hulpprogramma: "-all-arsjitektueren" foar it ynstallearjen fan binaries foar alle stipe EFI-arsjitekten, "—root=" en "—image=" foar wurkjen mei in map of skiifôfbylding, "-install-source =" foar it definiearjen fan boarne foar ynstallaasje, "-efi-boot-option-description=" om nammen fan bootyngongen te kontrolearjen.
  • It kommando 'list-automounts' is tafoege oan it systemctl-hulpprogramma om in list mei automatysk monteare mappen wer te jaan en de opsje "--image=" om kommando's út te fieren yn relaasje ta de opjûne skiifôfbylding. "--state=" en "--type="-opsjes tafoege oan de kommando's 'show' en 'status'.
  • systemd-networkd tafoege opsjes "TCPCongestionControlAlgorithm =" om it TCP-congestiekontrôlealgoritme te selektearjen, "KeepFileDescriptor =" om de triembeskriuwing fan TUN/TAP-ynterfaces op te slaan, "NetLabel =" om NetLabels yn te stellen, "RapidCommit =" om konfiguraasje te fersnellen fia DHCPv6 (RFC 3315). De "RouteTable =" parameter lit de nammen fan routingtabellen opjaan.
  • systemd-nspawn lit it brûken fan relative triempaden yn 'e "--bind=" en "--overlay=" opsjes. Stipe tafoege foar de parameter 'rootidmap' oan 'e opsje "--bind=" om de root-brûkers-ID yn 'e kontener te binen oan de eigner fan' e monteare map op 'e hostside.
  • systemd-resolved brûkt OpenSSL as syn fersiferingsbackend standert (gnutls-stipe wurdt bewarre as in opsje). Net-stipe DNSSEC-algoritmen wurde no behannele as ûnfeilich ynstee fan in flater werom te jaan (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles en systemd-sysctl implementearje de mooglikheid om ynstellings oer te dragen fia in credential opslachmeganisme.
  • Tafoege 'compare-versions' kommando oan systemd-analyze om stringen te fergelykjen mei ferzjenûmers (lykas 'rpmdev-vercmp' en 'dpkg --compare-versions'). De mooglikheid tafoege om ienheden te filterjen troch masker oan it kommando 'systemd-analyze dump'.
  • By it selektearjen fan in multi-stage sliepmodus (suspend-dan-hibernate), wurdt de tiid bestege yn 'e standby-modus no selektearre op basis fan' e prognose fan 'e oerbleaune batterijlibben. Direkte oergong nei sliepmodus bart as der minder dan 5% batterijlading oerbliuwt.
  • In nije útfiermodus "-o short-delta" is tafoege oan 'journalctl', wêrby't it tiidferskil tusken ferskate berjochten yn it log toant.
  • systemd-repart foeget stipe ta foar it meitsjen fan partysjes mei it Squashfs-bestânsysteem en partysjes foar dm-verity, ynklusyf mei digitale hantekeningen.
  • "StopIdleSessionSec="-ynstelling tafoege oan systemd-login om in ynaktive sesje te beëinigjen nei in opjûne time-out.
  • Systemd-cryptenroll hat in opsje "--unlock-key-file=" tafoege om de ûntsiferingskaai út in bestân te heljen ynstee fan de brûker te freegjen.
  • It is no mooglik om it hulpprogramma systemd-growfs út te fieren yn omjouwings sûnder udev.
  • systemd-backlight hat ferbettere stipe foar systemen mei meardere grafyske kaarten.
  • De lisinsje foar de koadefoarbylden yn 'e dokumintaasje is feroare fan CC0 nei MIT-0.

Feroarings dy't kompatibiliteit brekke:

  • By it kontrolearjen fan it kearnferzjenûmer mei de ConditionKernelVersion-rjochtline, wurdt no in ienfâldige tekenrige fergeliking brûkt yn '=' en '!=' operators, en as de fergelikingsoperator hielendal net oantsjutte is, kin glob-mask-oerienkomst brûkt wurde mei de tekens '*', '?' En '[', ']'. Om stverscmp() stylferzjes te fergelykjen, brûk de operators '<', '>', '<=' en '>='.
  • De SELinux-tag dy't brûkt wurdt om tagong te kontrolearjen fan in ienheidsbestân wurdt no lêzen op it momint dat it bestân wurdt laden, ynstee fan op it momint fan tagongskontrôle.
  • De betingst "ConditionFirstBoot" wurdt no op 'e earste boot fan it systeem allinich direkt yn' e opstartstadium aktivearre en jout "falsk" werom as ienheden oproppe nei't it opstarten foltôge is.
  • Yn 2024 is systemd fan plan om te stopjen mei it stypjen fan it cgroup v1-boarnebeheiningsmeganisme, dat waard ôfkard yn systemd release 248. Behearders wurde advisearre om foarôf te soargjen foar it migrearjen fan cgroup v2-basearre tsjinsten nei cgroup v1. It wichtichste ferskil tusken cgroups v2 en v1 is it brûken fan in mienskiplike cgroups hiërargy foar alle soarten boarnen, ynstee fan aparte hiërargyen foar it tawizen fan CPU-boarnen, foar it regulearjen fan ûnthâldferbrûk en foar I / O. Aparte hiërargyen liede ta swierrichheden yn it organisearjen fan ynteraksje tusken handlers en ta ekstra kernel boarne kosten by it tapassen fan regels foar in proses ferwiisd yn ferskillende hiërargyen.
  • Yn 'e twadde helte fan 2023 binne wy ​​fan plan om stipe te beëinigjen foar split-maphierarchyen, wêr't /usr apart fan 'e root is monteard, of /bin en /usr/bin, /lib en /usr/lib wurde skieden.

Boarne: opennet.ru

Add a comment