Systemd sistēmas pārvaldnieka 252 izlaiÅ”ana ar UKI (Unified Kernel Image) atbalstu

Pēc piecu mēneÅ”u izstrādes tika prezentēts sistēmas pārvaldnieka izlaidums systemd 252. Galvenās izmaiņas jaunajā versijā bija atbalsta integrācija modernizētam sāknÄ“Å”anas procesam, kas ļauj pārbaudÄ«t ne tikai kodolu un sāknÄ“Å”anas ielādētāju, bet arÄ« komponentus. pamata sistēmas vidi, izmantojot ciparparakstus.

Piedāvātā metode ietver vienota kodola attēla UKI (Unified Kernel Image) izmantoÅ”anu ielādes laikā, kas apvieno apdarinātāju kodola ielādei no UEFI (UEFI boot stub), Linux kodola attēlu un initrd sistēmas vidi, kas tiek ielādēta atmiņā. sākotnējai inicializācijai posmā pirms saknes FS uzstādÄ«Å”anas. UKI attēls ir iesaiņots kā viens izpildāms fails PE formātā, ko var ielādēt, izmantojot tradicionālos sāknÄ“Å”anas ielādētājus, vai izsaukt tieÅ”i no UEFI programmaparatÅ«ras. Izsaucot no UEFI, ir iespējams pārbaudÄ«t ne tikai kodola, bet arÄ« initrd satura ciparparaksta integritāti un uzticamÄ«bu.

Lai aprēķinātu TPM PCR (Trusted Platform Module Platform Configuration Register) reÄ£istru parametrus, ko izmanto UKI attēla integritātes uzraudzÄ«bai un digitālā paraksta Ä£enerÄ“Å”anai, ir iekļauts jauns utilÄ«ta systemd-measure. Parakstā izmantoto publisko atslēgu un pievienoto PCR informāciju var iegult tieÅ”i UKI sāknÄ“Å”anas attēlā (atslēga un paraksts tiek saglabāti PE failā laukos ".pcrsig" un ".pcrkey") un iegÅ«ti no tā ar ārēju palÄ«dzÄ«bu. vai iekŔējie komunālie pakalpojumi.

Konkrēti, Ŕīs informācijas izmantoÅ”anai ir pielāgotas utilÄ«tas systemd-cryptsetup, systemd-cryptenroll un systemd-creds, ar kurām jÅ«s varat nodroÅ”ināt, ka Å”ifrētā diska nodalÄ«jumi ir saistÄ«ti ar ciparparakstu kodolu (Å”ajā gadÄ«jumā piekļuve Å”ifrētajam nodalÄ«jumam tiek nodroÅ”ināts tikai tad, ja UKI attēls ir izturējis verifikāciju ar ciparparakstu, pamatojoties uz parametriem, kas atrodas TPM).

Papildus ir iekļauta utilÄ«ta systemd-pcrphase, kas ļauj kontrolēt dažādu sāknÄ“Å”anas posmu saistÄ«Å”anu ar parametriem, kas atrodas to kriptoprocesoru atmiņā, kuri atbalsta TPM 2.0 specifikāciju (piemēram, LUKS2 nodalÄ«juma atÅ”ifrÄ“Å”anas atslēgu var padarÄ«t pieejamu tikai sākuma attēlu un bloķēt piekļuvi tam vēlākos lejupielādes posmos).

Dažas citas izmaiņas:

  • NodroÅ”ina, ka noklusējuma lokalizācija ir C.UTF-8, ja vien iestatÄ«jumos nav norādÄ«ta cita lokalizācija.
  • Tagad ir iespējams veikt pilnÄ«gu pakalpojuma iepriekÅ” iestatÄ«to darbÄ«bu (ā€œsystemctl presetā€) pirmās sāknÄ“Å”anas laikā. Lai iespējotu sākotnējos iestatÄ«jumus sāknÄ“Å”anas laikā, ir jāizveido, izmantojot opciju "-Dfirst-boot-full-preset", taču turpmākajos laidienos to ir plānots iespējot pēc noklusējuma.
  • Lietotāju pārvaldÄ«bas vienÄ«bas ietver CPU resursu kontrolieri, kas ļāva nodroÅ”ināt, ka CPUWeight iestatÄ«jumi tiek piemēroti visām slāņu vienÄ«bām, ko izmanto, lai sadalÄ«tu sistēmu daļās (app.slice, background.slice, session.slice), lai izolētu resursus. dažādi lietotāju pakalpojumi, kas sacenÅ”as par CPU resursiem. CPUWeight atbalsta arÄ« ā€œdÄ«kstāvesā€ vērtÄ«bu, lai aktivizētu atbilstoÅ”o resursu nodroÅ”ināŔanas režīmu.
  • Pagaidu (ā€œpārejoŔāsā€) vienÄ«bās un utilÄ«tprogrammā systemd-repart iestatÄ«jumu ignorÄ“Å”ana ir atļauta, izveidojot nolaižamos failus direktorijā /etc/systemd/system/name.d/.
  • Sistēmas attēliem tiek iestatÄ«ts atbalsta beigu karodziņŔ, nosakot Å”o faktu, pamatojoties uz jaunā parametra ā€œSUPPORT_END=ā€ vērtÄ«bu failā /etc/os-release.
  • Pievienoti iestatÄ«jumi ā€œConditionCredential=ā€ un ā€œAssertCredential=ā€, kurus var izmantot, lai ignorētu vai avāriju vienÄ«bas, ja sistēmā nav noteiktu akreditācijas datu.
  • Faultiem system.conf un user.conf ir pievienoti iestatÄ«jumi ā€œDefaultSmackProcessLabel=ā€ un ā€œDefaultDeviceTimeoutSec=ā€, lai definētu noklusējuma SMACK droŔības lÄ«meni un vienÄ«bas aktivizācijas taimautu.
  • IestatÄ«jumos ā€œConditionFirmware=ā€ un ā€œAssertFirmware=ā€ ir pievienota iespēja norādÄ«t atseviŔķus SMBIOS laukus, piemēram, palaist vienÄ«bu tikai tad, ja laukā /sys/class/dmi/id/board_name ir vērtÄ«ba ā€œCustom Board", varat norādÄ«t "ConditionFirmware=smbios" -field(board_name = "Custom Board")".
  • Inicializācijas procesa laikā (PID 1) papildus to definÄ«cijai, izmantojot qemu_fwcfg, ir pievienota iespēja importēt akreditācijas datus no SMBIOS laukiem (11. tips, ā€œOEM piegādātāja virknesā€), kas vienkārÅ”o akreditācijas datu nodroÅ”ināŔanu virtuālajām maŔīnām un novērÅ” nepiecieÅ”amÄ«ba pēc treŔās puses rÄ«kiem, piemēram, mākonis-init un aizdedzes.
  • IzslēgÅ”anas laikā ir mainÄ«ta virtuālo failu sistēmu (proc, sys) atvienoÅ”anas loÄ£ika un informācija par procesiem, kas bloķē failu sistēmu atvienoÅ”anu, tiek saglabāta žurnālā.
  • Sistēmas zvanu filtrs (SystemCallFilter) pēc noklusējuma ļauj piekļūt sistēmas izsaukumam riscv_flush_icache.
  • Sd-boot bootloader pievieno iespēju sāknēt jauktā režīmā, kurā 64 bitu Linux kodols darbojas no 32 bitu UEFI programmaparatÅ«ras. Pievienota eksperimentāla iespēja automātiski lietot SecureBoot atslēgas no failiem, kas atrodas ESP (EFI sistēmas nodalÄ«jumā).
  • Bootctl utilÄ«tai ir pievienotas jaunas opcijas: "ā€”all-architectures" bināro failu instalÄ“Å”anai visām atbalstÄ«tajām EFI arhitektÅ«rām, "ā€”root=" un "ā€”image=" darbam ar direktoriju vai diska attēlu, "-install-source =ā€ instalācijas avota noteikÅ”anai, "-efi-boot-option-description=", lai kontrolētu sāknÄ“Å”anas ierakstu nosaukumus.
  • Komanda 'list-automounts' ir pievienota utilÄ«tai systemctl, lai parādÄ«tu automātiski pievienoto direktoriju sarakstu un opciju "--image=", lai izpildÄ«tu komandas saistÄ«bā ar norādÄ«to diska attēlu. Komandām 'show' un 'status' ir pievienotas opcijas "--state=" un "--type=".
  • systemd-networkd pievienoja opcijas ā€œTCPCongestionControlAlgorithm=ā€, lai atlasÄ«tu TCP pārslodzes kontroles algoritmu, ā€œKeepFileDescriptor=ā€, lai saglabātu TUN/TAP saskarņu faila deskriptoru, ā€œNetLabel=ā€, lai iestatÄ«tu NetLabels, ā€œRapidCommit=ā€, lai paātrinātu konfigurāciju, izmantojot DHCPv6. (RFC 3315). Parametrs ā€œRouteTable=ā€ ļauj norādÄ«t marÅ”rutÄ“Å”anas tabulu nosaukumus.
  • systemd-nspawn ļauj izmantot relatÄ«vos failu ceļus opcijās "--bind=" un "--overlay=". Pievienots parametra "rootidmap" atbalsts opcijai "--bind=", lai saistÄ«tu konteinera saknes lietotāja ID ar resursdatora pusē uzstādÄ«tā direktorija Ä«paÅ”nieku.
  • Systemd-resolved pēc noklusējuma izmanto OpenSSL kā savu Å”ifrÄ“Å”anas aizmuguri (gnutls atbalsts tiek saglabāts kā opcija). NeatbalstÄ«ti DNSSEC algoritmi tagad tiek uzskatÄ«ti par nedroÅ”iem, nevis atgriež kļūdu (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles un systemd-sysctl ievieÅ” iespēju pārsÅ«tÄ«t iestatÄ«jumus, izmantojot akreditācijas datu uzglabāŔanas mehānismu.
  • Pievienota komanda 'compare-versions', lai systemd-analyze salÄ«dzinātu virknes ar versiju numuriem (lÄ«dzÄ«gi kā 'rpmdev-vercmp' un 'dpkg --compare-versions'). Komandai ā€œsystemd-analyze dumpā€ ir pievienota iespēja filtrēt vienÄ«bas pēc maskas.
  • Izvēloties daudzpakāpju miega režīmu (apturēt, pēc tam pārziemot), gaidÄ«Å”anas režīmā pavadÄ«tais laiks tagad tiek atlasÄ«ts, pamatojoties uz prognozi par atlikuÅ”o akumulatora darbÄ«bas laiku. TÅ«lÄ«tēja pāreja uz miega režīmu notiek, ja akumulatora uzlādes lÄ«menis ir mazāks par 5%.
  • 'journalctl' ir pievienots jauns izvades režīms "-o short-delta", kas žurnālā parāda laika starpÄ«bu starp dažādiem ziņojumiem.
  • Systemd-repart pievieno atbalstu nodalÄ«jumu izveidei ar failu sistēmu Squashfs un nodalÄ«jumiem dm-verity, tostarp ar ciparparakstiem.
  • Pievienots "StopIdleSessionSec=" iestatÄ«jums systemd-logind, lai beigtu neaktÄ«vu sesiju pēc noteikta taimauta.
  • Systemd-cryptenroll ir pievienojis opciju "--unlock-key-file=", lai izvilktu atÅ”ifrÄ“Å”anas atslēgu no faila, nevis prasÄ«tu lietotājam.
  • Tagad ir iespējams palaist utilÄ«tu systemd-growfs vidēs bez udev.
  • systemd-backlight ir uzlabojis atbalstu sistēmām ar vairākām grafikas kartēm.
  • Licence dokumentācijā sniegtajiem kodu piemēriem ir mainÄ«ta no CC0 uz MIT-0.

Izmaiņas, kas traucē saderību:

  • Pārbaudot kodola versijas numuru, izmantojot direktÄ«vu ConditionKernelVersion, operatoros '=' un '!=' tagad tiek izmantots vienkārÅ”s virkņu salÄ«dzinājums, un, ja salÄ«dzināŔanas operators vispār nav norādÄ«ts, glob-mask saskaņoÅ”anu var izmantot, izmantojot rakstzÄ«mes '*', '?' Un '[', ']'. Lai salÄ«dzinātu stverscmp() stila versijas, izmantojiet operatorus '<', '>', '<=' un '>='.
  • SELinux tags, ko izmanto, lai pārbaudÄ«tu piekļuvi no vienÄ«bas faila, tagad tiek nolasÄ«ts faila ielādes laikā, nevis piekļuves pārbaudes laikā.
  • NosacÄ«jums "ConditionFirstBoot" tagad tiek aktivizēts sistēmas pirmajā sāknÄ“Å”anas reizē tikai tieÅ”i sāknÄ“Å”anas stadijā un atgriež "false", izsaucot vienÄ«bas pēc sāknÄ“Å”anas pabeigÅ”anas.
  • 2024. gadā Systemd plāno pārtraukt cgroup v1 resursu ierobežoÅ”anas mehānisma atbalstu, kas tika novecots Systemd 248. laidienā. Administratoriem ieteicams rÅ«pēties par cgroup v2 pakalpojumu migrÄ“Å”anu uz cgroup v1. Galvenā atŔķirÄ«ba starp cgroups v2 un v1 ir kopējas cgroups hierarhijas izmantoÅ”ana visu veidu resursiem, nevis atseviŔķas hierarhijas CPU resursu pieŔķirÅ”anai, atmiņas patēriņa regulÄ“Å”anai un I/O. AtseviŔķas hierarhijas rada grÅ«tÄ«bas organizēt mijiedarbÄ«bu starp apdarinātājiem un rada papildu kodola resursu izmaksas, piemērojot noteikumus procesam, kas norādÄ«ts dažādās hierarhijās.
  • 2023. gada otrajā pusē mēs plānojam pārtraukt atbalstu sadalÄ«tajām direktoriju hierarhijām, kur /usr tiek montēts atseviŔķi no saknes vai /bin un /usr/bin, /lib un /usr/lib ir atdalÄ«ti.

Avots: opennet.ru

Pievieno komentāru