Lage manadjè sistèm systemd 252 ak sipò UKI (Imaj Inifye Kernel).

Apre senk mwa nan devlopman, yo te prezante liberasyon manadjè sistèm systemd 252. Chanjman kle nan nouvo vèsyon an te entegrasyon sipò pou yon pwosesis bòt modènize, ki pèmèt ou verifye pa sèlman nwayo a ak bootloader, men tou konpozan. nan anviwònman sistèm debaz la lè l sèvi avèk siyati dijital.

Metòd yo pwopoze a enplike itilizasyon yon imaj nwayo inifye UKI (Imaj Inifye Kernel) lè chaje, ki konbine yon moun kap okipe pou chaje nwayo a soti nan UEFI (UEFI boot stub), yon imaj nwayo Linux ak anviwònman sistèm initrd chaje nan memwa, itilize. pou inisyalizasyon inisyal la nan etap anvan monte rasin FS la. Imaj la UKI pake kòm yon sèl dosye ègzèkutabl nan fòma PE, ki ka chaje lè l sèvi avèk bootloaders tradisyonèl oswa rele dirèkteman nan firmwèr UEFI. Lè yo rele nan UEFI, li posib pou verifye entegrite ak fyab nan siyati dijital la pa sèlman nwayo a, men tou, sa ki nan initrd la.

Pou kalkile paramèt TPM PCR (Trusted Platform Module Platform Configuration Register) yo itilize pou kontwole entegrite a ak jenere yon siyati dijital imaj UKI a, gen yon nouvo mezi sistèm sèvis piblik. Kle piblik la ak enfòmasyon PCR ki akonpaye yo itilize nan siyati a ka entegre dirèkteman nan imaj bòt UKI (kle a ak siyati yo sove nan yon fichye PE nan jaden '.pcrsig' ak '.pcrkey') epi ekstrè soti nan li pa ekstèn. oswa sèvis piblik entèn yo.

An patikilye, sistèm sèvis piblik systemd-cryptsetup, systemd-cryptenroll ak systemd-creds yo te adapte pou itilize enfòmasyon sa a, ak ki ou ka asire ke patisyon ki chiffres disk yo mare nan yon nwayo ki siyen nimerik (nan ka sa a, aksè nan patisyon an chiffres). yo bay sèlman si imaj UKI a te pase verifikasyon pa siyati dijital ki baze sou paramèt ki sitiye nan TPM).

Anplis de sa, sèvis piblik systemd-pcrphase enkli, ki pèmèt ou kontwole obligatwa plizyè etap bòt ak paramèt ki sitiye nan memwa kripto-prosesè ki sipòte spesifikasyon TPM 2.0 (pa egzanp, ou ka fè kle dechifre patisyon LUKS2 disponib sèlman nan imaj la initrd ak bloke aksè a li nan etap pita downloads).

Kèk lòt chanjman:

  • Asire ke lokal default la se C.UTF-8 sof si yo espesifye yon lokal diferan nan paramèt yo.
  • Kounye a li posib pou fè yon operasyon konplè sèvis prereglaj ("systemctl prereglaj") pandan premye bòt la. Pèmèt prereglaj nan tan demaraj mande pou bati ak opsyon "-Dfirst-boot-full-preset", men yo planifye yo dwe aktive pa default nan degaje nan lavni.
  • Inite jesyon itilizatè yo enplike yon kontwolè resous CPU, ki te fè li posib asire ke paramèt CPUWeight yo aplike nan tout inite tranch yo itilize pou divize sistèm nan an pati (app.slice, background.slice, session.slice) pou izole resous ant. diferan sèvis itilizatè, konpetisyon pou resous CPU. CPUWeight sipòte tou valè "idle" pou aktive mòd pwovizyon resous ki apwopriye a.
  • Nan inite tanporè ("pasaj") yo ak nan sèvis piblik systemd-repart la, yo pèmèt plis pase paramèt lè yo kreye fichye depoze nan /etc/systemd/system/name.d/ anyè.
  • Pou imaj sistèm, yo mete drapo sipò ki fini, pou detèmine reyalite sa a ki baze sou valè nouvo paramèt "SUPPORT_END=" nan /etc/os-release dosye a.
  • Te ajoute paramèt "ConditionCredential=" ak "AssertCredential=", ki ka itilize pou inyore oswa fè aksidan inite yo si sèten kalifikasyon yo pa prezan nan sistèm nan.
  • Te ajoute "DefaultSmackProcessLabel=" ak "DefaultDeviceTimeoutSec="" nan system.conf ak user.conf pou defini nivo sekirite default SMACK ak delè deklanchman inite a.
  • Nan paramèt "ConditionFirmware=" ak "AssertFirmware=", yo te ajoute kapasite pou presize jaden SMBIOS endividyèl yo, pou egzanp, pou lanse yon inite sèlman si jaden /sys/class/dmi/id/board_name gen valè "Custom". Board", ou ka presize "ConditionFirmware = smbios" -field (board_name = "Custom Board")".
  • Pandan pwosesis inisyalizasyon an (PID 1), yo te ajoute kapasite pou enpòte kalifikasyon ki soti nan jaden SMBIOS (Type 11, "OEM vandè fisèl") anplis de definisyon yo atravè qemu_fwcfg, ki senplifye dispozisyon kalifikasyon nan machin vityèl epi elimine bezwen zouti twazyèm pati tankou nwaj -init ak ignisyon.
  • Pandan are, lojik pou demonte sistèm fichye vityèl yo (proc, sys) te chanje epi enfòmasyon sou pwosesis ki bloke sistèm fichye yo sove nan boutèy la.
  • Filtè apèl sistèm lan (SystemCallFilter) pèmèt aksè nan apèl sistèm riscv_flush_icache pa default.
  • Bootloader sd-boot la ajoute kapasite nan bòt nan mòd melanje, nan ki nwayo Linux 64-bit la kouri soti nan firmwèr UEFI 32-bit. Te ajoute kapasite eksperimantal pou aplike otomatikman kle SecureBoot nan dosye yo te jwenn nan ESP (partisyon sistèm EFI).
  • Nouvo opsyon yo te ajoute nan sèvis piblik bootctl la: "—all-architectures" pou enstale binè pou tout achitekti EFI sipòte, "—root=" ak "—image =" pou travay ak yon anyè oswa imaj disk, "—install-source =" pou defini sous pou enstalasyon, "-efi-boot-option-description=" pou kontwole non antre bòt yo.
  • Yo te ajoute kòmandman 'list-automounts' nan sèvis piblik systemctl la pou montre yon lis repèrtwar ki monte otomatikman ak opsyon "--image=" pou egzekite kòmandman an relasyon ak imaj disk espesifye a. Te ajoute opsyon "--state=" ak "--type=" nan kòmandman 'montre' ak 'estati' yo.
  • systemd-networkd te ajoute opsyon "TCPCongestionControlAlgorithm=" pou chwazi algorithm kontwòl konjesyon TCP la, "KeepFileDescriptor="" pou konsève pou deskriptè fichye a nan koòdone TUN/TAP, "NetLabel =" pou mete NetLabels, "RapidCommit=" pou akselere konfigirasyon atravè DHCPv6. (RFC 3315). Paramèt "RouteTable=" a pèmèt espesifye non tab routage yo.
  • systemd-nspawn pèmèt itilizasyon chemen dosye relatif nan opsyon "--bind=" ak "--overlay=". Te ajoute sipò pou paramèt 'rootidmap' nan opsyon "--bind=" pou mare ID itilizatè rasin nan veso a ak pwopriyetè anyè ki monte sou bò lame a.
  • systemd-resolved itilize OpenSSL kòm backend chifreman li yo pa default (sipò gnutls kenbe kòm yon opsyon). Algoritm DNSSEC ki pa sipòte kounye a yo trete kòm danjere olye pou yo retounen yon erè (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles ak systemd-sysctl aplike kapasite pou transfere anviwònman atravè yon mekanis depo kalifikasyon.
  • Te ajoute kòmandman 'compare-versions' nan systemd-analyse pou konpare strings ak nimewo vèsyon (menm jan ak 'rpmdev-vercmp' ak 'dpkg --compare-versions'). Te ajoute kapasite pou filtre inite yo pa mask nan lòd 'systemd-analyse dump' la.
  • Lè w ap chwazi yon mòd dòmi milti-etap (sispann-apre-ibènasyon), se kounye a chwazi tan ki pase nan mòd sibstiti ki baze sou previzyon lavi batri ki rete a. Tranzisyon enstantane nan mòd dòmi rive lè mwens pase 5% chaj batri rete.
  • Yon nouvo mòd pwodiksyon "-o short-delta" te ajoute nan 'journalctl', ki montre diferans ki genyen ant diferan mesaj nan boutèy la.
  • systemd-repart ajoute sipò pou kreye patisyon ak sistèm dosye Squashfs ak patisyon pou dm-verity, ki gen ladan siyati dijital.
  • Te ajoute "StopIdleSessionSec=" paramèt nan systemd-logind pou mete fen nan yon sesyon inaktif apre yon tan espesifye.
  • Systemd-cryptenroll te ajoute yon opsyon "--unlock-key-file=" pou ekstrè kle dechifre a soti nan yon dosye olye ke pouse itilizatè a.
  • Kounye a li posib pou kouri sèvis piblik systemd-growfs nan anviwònman san udev.
  • systemd-backlight te amelyore sipò pou sistèm ki gen plizyè kat grafik.
  • Lisans pou egzanp kòd yo bay nan dokiman an te chanje soti nan CC0 a MIT-0.

Chanjman ki kraze konpatibilite:

  • Lè w tcheke nimewo vèsyon nwayo a lè l sèvi avèk direktiv ConditionKernelVersion, kounye a yo itilize yon senp konparezon fisèl nan operatè '=' ak '!=', epi si operatè konparezon an pa espesifye ditou, yo ka itilize matche glob-mask lè l sèvi avèk la. karaktè '*', '?' Ak '[', ']'. Pou konpare vèsyon stil stverscmp(), sèvi ak operatè yo '<', '>', '<=' ak '>='.
  • Tag SELinux yo itilize pou tcheke aksè nan yon fichye inite kounye a li nan moman dosye a chaje, olye ke nan moman tcheke aksè a.
  • Kondisyon "ConditionFirstBoot" kounye a deklanche sou premye bòt sistèm lan sèlman dirèkteman nan etap bòt la epi li retounen "fo" lè w ap rele inite yo apre bòt la fini.
  • An 2024, systemd planifye pou sispann sipòte mekanis limite resous cgroup v1, ki te obsolète nan systemd version 248. Yo konseye administratè yo pou yo pran swen davans pou imigre sèvis ki baze sou cgroup v2 nan cgroup v1. Diferans kle ant cgroups v2 ak v1 se itilizasyon yon yerachi cgroups komen pou tout kalite resous, olye de yerachi separe pou asiyen resous CPU, pou reglemante konsomasyon memwa, ak pou I/O. Yerachi separe mennen nan difikilte nan òganize entèraksyon ant moun kap okipe yo ak nan depans pou resous nwayo adisyonèl lè w ap aplike règ pou yon pwosesis referans nan yerachi diferan.
  • Nan dezyèm mwatye 2023, nou planifye pou fini sipò pou yerachi anyè divize, kote /usr monte separeman ak rasin lan, oswa /bin ak /usr/bin, /lib ak /usr/lib yo separe.

Sous: opennet.ru

Add nouvo kòmantè