systemd 259: Musl tugi, run0 volitamine ja hüvasti System V-ga

Võtmepunktid:
  • Osaline tugi Musl libc-le (nõuab käsitsi seadistamist Mesonis).
  • run0 --empower lubab privilegeeritud toiminguid ilma kasutaja UID-d muutmata.
  • System V skriptide aegumine ja suurenenud nõuded (Kernel 5.10+) on kinnitatud.
  • libsystemd laadib nüüd sõltuvuste vähendamiseks väliseid teeke dlopen() abil.
  • Päeviku salvestamine on nüüd vaikimisi „püsiv”.

systemd

Pärast veidi enam kui kolmekuulist arendustööd käivitamine uus versioon süsteem 259. See värskendus toob kaasa muudatusi süsteemi arhitektuuris, rõhutades avatust alternatiivsetele standardteekidele, rangemat õiguste haldamist ja tulevaste versioonide rangemaid tehnilisi nõudeid.

Üks selle tsükli enim kõneainet pakkunud liikumisi on üleminek suuremale modulaarsusele ja pärandsõltuvuste kaotamine, mis sillutab teed Linuxi ökosüsteemile, mis on lõplikult eemaldumas varasemate aastakümnete standarditest.

Süsteemid 259 peamised uued funktsioonid

Uus systemd versioon 259 paistab silma selle poolest, et see on esimene versioon, mis lisab osalise ühilduvuse Musliga, populaarne C-standarditeek kergetes distributsioonides ja manussüsteemides. See integratsioon Seda hallatakse Mesoni ehitussüsteemi libc-valiku kaudu. Kuna Musl ei rakenda NSS-i (Name Service Switch) funktsiooni, jäävad mitmed systemd komponendid selles konfiguratsioonis keelatuks.

Nende hulgas on amärkimisväärsed puudujäägid Musl-iga kompileerimisel nad on nss-systemd, nss-resolve, systemd-homed, systemd-userdbd ja parameeter DynamicUserLisaks ei ole selle teegi all võimalik systemd-nspawni ilma õigusteta käivitada. Arendajad on hoiatanud, et selle toe säilitamine tulevastes versioonides sõltub kogukonna nõudlusest ja kõigi täiendavate ühilduvuskihtide stabiilsusest, mida arendatakse.

Uue versiooni teine ​​​​uuendus on run0 utiliidis, mis on loodud sudo moodsa ja turvalise alternatiivina, mis on saanud uus valik – võimestamine. See funktsioon See võimaldab teil sisse logida kõrgendatud õigustega. ilma et oleks vaja kasutajatunnust (UID) root-iks muuta.

Peale selle, täieliku kontrolli delegeerimise asemel Kasutaja vahetamise kaudu kasutab –empower kerneli võimekuse indikaatoreid, näiteks CAP_SYS_ADMIN, anda rangelt vajalikke lube privilegeeritud süsteemikõnede tegemiseks. Lisaks integreeritakse saadud protsessid kindlasse rühma, mis annab neile juurdepääsu Polkiti toimingutele, säilitades õiguste kindlama eraldatuse kui traditsioonilises sudo mudelis.

Ajastu lõpp: hüvasti System V-ga ja uute nõuetega

systemd 259 tähistab lõpu algust ühilduvus System V teenuse skriptidOn teatatud, et järgmises versioonis eemaldatakse jäädavalt sellised pärandkomponendid nagu systemd-sysv-generator, systemd-rc-local-generator ja systemd-sysv-install.

Koos vana koodi puhastamisega on systemd ökosüsteemi minimaalsed tarkvaranõuded oluliselt tõstetud:

  • Linuxi tuum: minimaalne versioon 5.10.
  • Glibc: 2.34.
  • OpenSSL: 3.0.0.
  • Util-linux: 2.37.
  • Muu: Python 3.9.0, cryptsetup 2.4.0 ja libseccomp 2.4.0.

Modulaarsus ja dünaamiline laadimine libsystemdis

Como osa sõltuvuste vähendamise algatusest otse käivitamisel, libsystemd kasutab nüüd dünaamilist laadimist dlopen() kaudu Selliste teekide nagu libacl, libblkid, libseccomp, libselinux ja libmount puhul laadib süsteem need teegid mällu ainult siis, kui protsess vajab nende spetsiifilisi funktsioone, optimeerides ressursikasutust. Lisaks on libcapi funktsionaalsus integreeritud otse libsystemd-sse, lihtsustades sõltuvusahelat.

El Logide käitlemise vaikekonfiguratsioon on muutunud: päeviku salvestusrežiim (ajakiri) muutub olekust "automaatne" olekusse "püsiv", olenemata sellest, kas kaust /var/log/journal oli varem olemas.

Võrkude ja virtualiseerimise valdkonnas:

  • systemd-networkd ja systemd-nspawn: NAT-reeglite tugi iptables'i abil on eemaldatud, jättes nftables'i ainsaks ühilduvaks valikuks.
  • süsteemi lahendatud: See lubab nüüd nimelahendustaotlustesse sekkumiseks kasutada kohalikke konksusid (hookse) failis /run/systemd/resolve.hook/.
  • systemd-importd: TAR-failidega töötamise loogika on natiivselt integreeritud. Lisaks saab nii `importd` kui ka `machined` nüüd käivitada kasutaja tasandil, mis võimaldab piltide haldamist kasutaja kohalikus kataloogis (`~/.local/state/machines/`).

Muud uuendused

Protokollipõhine API Varlink sai täiustusi, et võimaldada juurdepääsu teenuse seadetele ja IPC-kõnede tegemist näiteks Reload() ja Reexecute(). Süsteemiadministraatoritele on OOMKillsi atribuudi lisamine teenustesse väga kasulik, kuna see võimaldab neil otse systemd tööriistadest jälgida, mitu korda protsess mälu puudumise tõttu lõpetati.

Lõpuks muutub süsteemi käivitamisprotsess moodsamaks, kuna systemd-bootist eemaldatakse TPM 1.2 tugi, koondades kõik turvameetmed TPM 2.0 standardile.

Kui teil on huvi selle kohta rohkem teada saada, võite konsulteerida üksikasjad järgmisel lingil.