systemd 259: „Musl“ palaikymas, „run0 empower“ ir atsisveikinimas su „System V“

Pagrindiniai klausimai:
  • Dalinis „Musl libc“ palaikymas (reikalingas rankinis konfigūravimas „Meson“).
  • run0 --empower leidžia atlikti privilegijuotus veiksmus nekeičiant vartotojo UID.
  • Patvirtintas „System V“ scenarijų nebenaudojimas ir padidinti reikalavimai („Kernel 5.10+“).
  • „libsystemd“ dabar įkelia išorines bibliotekas naudodama „dlopen()“, kad sumažintų priklausomybes.
  • Žurnalų saugojimas dabar pagal numatytuosius nustatymus yra „nuolatinis“.

systemd

Po kiek daugiau nei trijų mėnesių kūrimo, paleidimas nauja versija 259. kaip ir Šis atnaujinimas pristato sistemos architektūros pakeitimus, pabrėžiant atvirumą alternatyvioms standartinėms bibliotekoms, griežtesnį privilegijų valdymą ir griežtesnius techninius reikalavimus būsimoms versijoms.

Vienas labiausiai aptariamų šio ciklo judėjimų yra perėjimas prie didesnio moduliškumo ir senų priklausomybių panaikinimo, atveriantis kelią „Linux“ ekosistemai, kuri galutinai tolsta nuo praėjusių dešimtmečių standartų.

Pagrindinės naujos sistemos funkcijos 259

Naujoji „systemd“ 259 versija išsiskiria tuo, kad yra pirmoji versija, papildanti dalinį suderinamumą su Musl, populiari C standartinė biblioteka lengvosiose distribucijose ir įterptosiose aplinkose. Ši integracija Jis valdomas naudojant „libc“ parinktį „Meson“ kompiliavimo sistemoje. Tačiau kadangi „Musl“ neįdiegia NSS (vardų paslaugų perjungimo) funkcijos, keli „systemd“ komponentai šioje konfigūracijoje lieka išjungti.

Tarp apastebimi trūkumai kompiliuojant su Musl jie yra nss-systemd, nss-resolve, systemd-homed, systemd-userdbd ir „DynamicUser“ parametrasBe to, „systemd-nspawn“ negalima paleisti neturint privilegijų šioje bibliotekoje. Kūrėjai perspėjo, kad šios paramos išlaikymas būsimose versijose priklausys nuo bendruomenės poreikio ir visų papildomų sukurtų suderinamumo sluoksnių stabilumo.

Dar viena naujos versijos funkcija yra „run0“ programoje, sukurta kaip moderni ir saugi sudo alternatyva, kuri gavo nauja galimybė – įgalinimas. Ši funkcija Tai leidžia prisijungti su padidintomis teisėmis. nereikalaujant pakeisti vartotojo identifikatoriaus (UID) į root.

Neskaitant to, užuot delegavus visišką kontrolę perjungiant vartotoją, „–empower“ naudoja branduolio galimybių indikatorius, pvz., CAP_SYS_ADMIN, išduoti griežtai būtinus leidimus atlikti privilegijuotus sistemos iškvietimus. Be to, gauti procesai integruojami į konkrečią grupę, kuri suteikia jiems prieigą prie „Polkit“ veiksmų, išlaikant tvirtesnį privilegijų atskyrimą nei tradiciniame „sudo“ modelyje.

Era pabaiga: atsisveikinimas su „System V“ ir naujais reikalavimais

„systemd 259“ žymi pabaigos pradžią suderinamumas su „System V“ paslaugų scenarijaiPaskelbta, kad kitoje versijoje tokie seni komponentai kaip „systemd-sysv-generator“, „systemd-rc-local-generator“ ir „systemd-sysv-install“ bus visam laikui pašalinti.

Kartu su seno kodo valymu, buvo gerokai padidinti minimalūs „systemd“ ekosistemos programinės įrangos reikalavimai:

  • „Linux“ branduolys: mažiausiai 5.10 versija.
  • Glibc: 2.34.
  • Atvirasis SSL: 3.0.0.
  • Util-linux: 2.37.
  • Kita: „Python 3.9.0“, „cryptsetup 2.4.0“ ir „libseccomp 2.4.0“.

Moduliškumas ir dinaminis pakrovimas libsystemd sistemoje

Komo iniciatyvos, kuria siekiama sumažinti priklausomybę, dalis tiesiai paleidimo metu, libsystemd dabar naudoja dinaminį įkėlimą per dlopen() Tokias bibliotekas kaip „libacl“, „libblkid“, „libseccomp“, „libselinux“ ir „libmount“ sistema į atmintį įkels tik tada, kai procesui reikės konkrečių jų funkcijų, taip optimizuojant išteklių naudojimą. Be to, „libcap“ funkcionalumas buvo integruotas tiesiai į „libsystemd“, supaprastinant priklausomybių grandinę.

El Žurnalų tvarkymas pakeitė numatytąją konfigūraciją: žurnalo saugojimo režimas (Žurnalas) keičiasi iš „automatinio“ į „nuolatinį“, nepriklausomai nuo to, ar katalogas /var/log/journal anksčiau egzistavo.

Tinklų ir virtualizacijos srityje:

  • systemd-networkd ir systemd-nspawn: NAT taisyklių, naudojančių „iptables“, palaikymas pašalinamas, todėl „nftables“ lieka vienintele suderinama parinktimi.
  • systemd išspręsta: Dabar tai leidžia naudoti vietinius kabliukus (kablius) faile /run/systemd/resolve.hook/, kad būtų galima įsikišti į vardų sprendimo užklausas.
  • systemd-importd: Logika darbui su TAR failais buvo integruota automatiškai. Be to, tiek „importd“, tiek „machined“ dabar galima vykdyti vartotojo lygmeniu, todėl atvaizdus galima valdyti vartotojo vietiniame kataloge (`~/.local/state/machines/`).

Kitos naujovės

Protokolu pagrįsta API „Varlink“ buvo patobulinta, kad būtų galima pasiekti paslaugų nustatymus ir atlikti IPC skambučius. pvz., „Reload()“ ir „Reexecute()“. Sistemų administratoriams „OOMKills“ savybės įtraukimas į paslaugas bus labai naudingas, nes tai leis jiems tiesiogiai iš „systemd“ įrankių sekti, kiek kartų procesas buvo nutrauktas dėl atminties trūkumo.

Galiausiai, sistemos paleidimo procesas tampa modernesnis, pašalinus TPM 1.2 palaikymą iš „systemd-boot“, sutelkiant visas saugumo pastangas į TPM 2.0 standartą.

Jei norite sužinoti daugiau apie tai, galite pasikonsultuoti su išsami informacija šioje nuorodoje.