Pelepasan manajer sistem systemd 252 kalayan dukungan UKI (Unified Kernel Image).

Saatos pangwangunan lima bulan, sékrési manajer sistem systemd 252. Parobihan konci dina versi énggal nyaéta integrasi dukungan pikeun prosés boot anu dimodernisasi, anu ngamungkinkeun anjeun pikeun pariksa henteu ngan ukur kernel sareng bootloader, tapi ogé komponén. tina lingkungan sistem dasar ngagunakeun tanda tangan digital.

Metodeu anu diusulkeun ngalibatkeun panggunaan gambar kernel anu ngahijikeun UKI (Gambar Kernel Unified) nalika ngamuat, anu ngagabungkeun panangan pikeun ngamuat kernel tina UEFI (stub boot UEFI), gambar kernel Linux sareng lingkungan sistem initrd dimuat kana mémori, dianggo. pikeun inisialisasi awal dina tahap sateuacan masang akar FS. Gambar UKI ieu rangkep salaku file laksana tunggal dina format PE, nu bisa dimuat maké bootloaders tradisional atawa disebut langsung ti firmware UEFI. Nalika ditelepon ti UEFI, anjeun tiasa pariksa integritas sareng reliabilitas tanda tangan digital henteu ngan ukur kernel, tapi ogé eusi initrd.

Pikeun ngitung parameter tina TPM PCR (Dipercanten Platform Module Platform Konfigurasi ngadaptar) registers dipaké pikeun ngawas integritas jeung ngahasilkeun signature digital tina gambar UKI, a utiliti anyar systemd-ukuran kaasup. Konci umum sareng inpormasi PCR anu dianggo dina tanda tangan tiasa diselapkeun langsung kana gambar boot UKI (konci sareng tanda tangan disimpen dina file PE dina widang '.pcrsig' sareng '.pcrkey') sareng sasari ti dinya ku éksternal. atanapi utilitas internal.

Khususna, utilitas systemd-cryptsetup, systemd-cryptenroll sareng systemd-creds parantos diadaptasi pikeun ngagunakeun inpormasi ieu, dimana anjeun tiasa mastikeun yén partisi disk énkripsi kabeungkeut kana kernel anu ditandatanganan sacara digital (dina hal ieu, aksés kana partisi énkripsi. disadiakeun ngan lamun gambar UKI geus lulus verifikasi ku tanda tangan digital dumasar kana parameter lokasina di TPM).

Salaku tambahan, utilitas systemd-pcrphase kalebet, anu ngamungkinkeun anjeun ngadalikeun beungkeutan sababaraha tahap boot ka parameter anu aya dina mémori kriptoprosesor anu ngadukung spésifikasi TPM 2.0 (contona, anjeun tiasa ngadamel konci dekripsi partisi LUKS2 ngan ukur aya dina gambar initrd sareng blokir aksés kana éta dina undeuran tahap salajengna).

Sababaraha parobahan séjén:

  • Mastikeun yén lokal standar nyaéta C.UTF-8 iwal lokal béda anu dieusian dina setélan.
  • Ayeuna tiasa ngalakukeun operasi prasetél jasa lengkep ("preset systemctl") salami boot munggaran. Aktipkeun prasetél dina waktos boot merlukeun gedong sareng pilihan "-Dfirst-boot-full-preset", tapi rencanana bakal diaktipkeun sacara standar dina rilis hareup.
  • Unit manajemén pamaké ngalibetkeun hiji controller sumberdaya CPU, nu ngamungkinkeun pikeun mastikeun yén setélan CPUWeight diterapkeun ka sadaya unit keureutan dipaké pikeun ngabagi sistem kana bagéan (app.slice, background.slice, session.slice) pikeun ngasingkeun sumberdaya antara. jasa pamaké béda, competing pikeun sumberdaya CPU. CPUWeight ogé ngarojong nilai "dianggurkeun" pikeun ngaktipkeun mode provisioning sumberdaya luyu.
  • Dina unit samentara ("transient") sarta dina utilitas systemd-repart, setelan overriding diidinan ku nyieun file serelek dina /etc/systemd/system/name.d/ diréktori.
  • Pikeun gambar sistem, bandéra dukungan-réngsé diatur, nangtukeun kanyataan ieu dumasar kana nilai parameter anyar "SUPPORT_END =" dina file /etc/os-release.
  • Ditambahkeun "ConditionCredential =" jeung "AssertCredential =" setelan, nu bisa dipaké pikeun malire atawa ngadat unit lamun Kapercayaan tangtu teu aya dina sistem.
  • Ditambahkeun "DefaultSmackProcessLabel =" jeung "DefaultDeviceTimeoutSec =" setélan pikeun system.conf na user.conf pikeun nangtukeun standar SMACK tingkat kaamanan sarta unit aktivasina seep.
  • Dina setélan "ConditionFirmware =" jeung "AssertFirmware =", kamampuhan pikeun nangtukeun widang SMBIOS individu geus ditambahkeun, contona, pikeun ngajalankeun hiji unit ngan lamun widang /sys/class/dmi/id/board_name ngandung nilai "Custom". Board", Anjeun bisa nangtukeun "ConditionFirmware = smbios" -field (board_name = "Custom Board").
  • Salila prosés initialization (PID 1), kamampuhan pikeun ngimpor credentials tina widang SMBIOS (Tipe 11, "OEM vendor strings") geus ditambahkeun salian harti maranéhanana via qemu_fwcfg, nu simplifies penyediaan credentials ka mesin virtual tur ngaleungitkeun peryogi alat pihak katilu sapertos awan -init sareng ignition.
  • Salila shutdown, logika pikeun unmounting sistem file virtual (proc, sys) geus dirobah sarta informasi ngeunaan prosés blocking unmounting sistem file disimpen dina log.
  • Saringan panggero sistem (SystemCallFilter) ngamungkinkeun aksés kana panggero sistem riscv_flush_icache sacara standar.
  • SD-boot bootloader nambihan kamampuan pikeun boot dina modeu campuran, dimana kernel Linux 64-bit dijalankeun tina firmware UEFI 32-bit. Ditambahkeun kamampuan ékspérimén pikeun otomatis nerapkeun konci SecureBoot tina file anu aya dina ESP (partisi sistem EFI).
  • Pilihan anyar parantos ditambah kana utilitas bootctl: "—all-architectures" kanggo masang binari pikeun sadaya arsitéktur EFI anu dirojong, "-root =" sareng "-image =" kanggo damel sareng diréktori atanapi gambar disk, "-install-source. =" pikeun nangtukeun sumber pikeun pamasangan, "-efi-boot-option-description=" pikeun ngadalikeun ngaran entri boot.
  • Paréntah 'list-automounts' geus ditambahkeun kana utilitas systemctl pikeun mintonkeun daptar diréktori anu dipasang sacara otomatis sareng pilihan "--image=" pikeun ngaéksekusi paréntah anu aya hubunganana sareng gambar disk anu ditangtukeun. Ditambahkeun "--state =" jeung "--type =" pilihan kana paréntah 'acara' jeung 'status'.
  • systemd-networkd nambahkeun pilihan "TCPCongestionControlAlgorithm =" pikeun milih algoritma kontrol kamacetan TCP, "KeepFileDescriptor =" pikeun nyimpen deskriptor file tina TUN / TAP interfaces, "NetLabel =" pikeun nyetél NetLabels, "RapidCommit =" pikeun nyepetkeun konfigurasi via DHCPv6. (RFC 3315). Parameter "RouteTable =" ngamungkinkeun nangtukeun nami tabel routing.
  • systemd-nspawn ngamungkinkeun pamakean jalur file relatif dina pilihan "--bind =" jeung "--overlay =". Ditambahkeun dukungan pikeun parameter 'rootidmap' kana pilihan "--bind =" pikeun meungkeut ID pamaké root dina wadahna ka nu boga diréktori dipasang di sisi host.
  • systemd-resolved ngagunakeun OpenSSL salaku backend enkripsi sacara standar (rojongan gnutls dipikagaduh salaku pilihan). Algoritma DNSSEC anu teu dirojong ayeuna dianggap teu aman tibatan mulangkeun kasalahan (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles sareng systemd-sysctl ngalaksanakeun kamampuan nransfer setélan ngaliwatan mékanisme panyimpen kredensial.
  • Nambahkeun paréntah 'compare-versions' ka systemd-analyse pikeun ngabandingkeun string sareng nomer versi (sarupa sareng 'rpmdev-vercmp' sareng 'dpkg --compare-versions'). Ditambahkeun kamampuan pikeun nyaring unit ku topéng kana paréntah 'systemd-analyze dump'.
  • Nalika milih mode sare multi-tahap (nungguhan-teras-hibernasi), waktos anu dianggo dina modeu sayaga ayeuna dipilih dumasar kana ramalan umur batre sésana. Transisi sakedapan ka modeu sare lumangsung nalika eusi batré kirang ti 5%.
  • Modeu kaluaran anyar "-o short-delta" geus ditambahkeun kana 'journalctl', mintonkeun bédana waktu antara pesen béda dina log.
  • systemd-repart nambihan dukungan pikeun nyiptakeun partisi sareng sistem file Squashfs sareng partisi pikeun dm-verity, kalebet tanda tangan digital.
  • Ditambahkeun "StopIdleSessionSec =" setelan kana systemd-login pikeun ngeureunkeun sési anu teu aktip saatos waktos waktos anu ditangtukeun.
  • Systemd-cryptenroll parantos nambihan pilihan "--unlock-key-file =" pikeun nimba konci dekripsi tina file tinimbang ngajurung pangguna.
  • Ayeuna tiasa ngajalankeun utilitas systemd-growfs dina lingkungan tanpa udev.
  • systemd-lampu tukang geus ningkat rojongan pikeun sistem kalawan sababaraha kartu grafik.
  • Lisensi pikeun conto kode anu disayogikeun dina dokuméntasi parantos dirobih tina CC0 ka MIT-0.

Parobahan nu megatkeun kasaluyuan:

  • Nalika mariksa nomer vérsi kernel nganggo diréktif ConditionKernelVersion, perbandingan string basajan ayeuna dianggo dina operator '=' sareng '!=', sareng upami operator pangbanding henteu dispésifikasi pisan, pencocokan glob-mask tiasa dianggo nganggo aksara '*', '?' Jeung '[', ']'. Pikeun ngabandingkeun versi gaya stverscmp(), paké operator '<', '>', '<=' jeung '>='.
  • Tag SELinux anu dipaké pikeun mariksa aksés ti file unit ayeuna dibaca dina waktu file dimuat, tinimbang dina waktu dipariksa aksés.
  • Kaayaan "ConditionFirstBoot" ayeuna dipicu dina boot munggaran sistem ngan langsung dina tahap boot jeung mulih "palsu" nalika nelepon unit sanggeus boot geus réngsé.
  • Dina 2024, systemd ngarencanakeun pikeun ngeureunkeun ngadukung mékanisme ngawatesan sumber daya cgroup v1, anu dileungitkeun dina sékrési systemd 248. Administrator disarankan pikeun ngurus sateuacanna migrasi jasa basis cgroup v2 ka cgroup v1. Beda konci antara cgroups v2 na v1 nyaéta pamakéan hirarki cgroups umum pikeun sakabéh jenis sumberdaya, tinimbang hirarki misah pikeun alokasi sumberdaya CPU, pikeun ngatur konsumsi memori, sarta pikeun I / O. Hierarki anu misah ngakibatkeun kasusah dina ngatur interaksi antara pawang sareng biaya sumberdaya kernel tambahan nalika nerapkeun aturan pikeun prosés anu dirujuk dina hirarki anu béda.
  • Dina satengah kadua 2023, kami rencanana pikeun ngeureunkeun dukungan pikeun hierarki diréktori pamisah, dimana /usr dipasang sacara misah tina akar, atanapi /bin sareng /usr/bin, /lib sareng /usr/lib dipisahkeun.

sumber: opennet.ru

Tambahkeun komentar