systemd 259: Podrška za Musl, osnaživanje run0 i zbogom System V

Ključne točke:
  • Djelomična podrška za Musl libc (zahtijeva ručnu konfiguraciju u Mesonu).
  • run0 --empower omogućava privilegovane akcije bez promjene korisničkog UID-a.
  • Potvrđeno ukidanje podrške za System V skripte i povećani zahtjevi (Kernel 5.10+).
  • libsystemd sada učitava eksterne biblioteke koristeći dlopen() kako bi se smanjile zavisnosti.
  • Pohranjivanje dnevnika je sada prema zadanim postavkama 'trajno'.

systemd

Nakon nešto više od tri mjeseca razvoja, pokretanje nova verzija systemd 259. Ovo ažuriranje uvodi promjene u arhitekturu sistema, ističući otvorenost prema alternativnim standardnim bibliotekama, rigoroznije upravljanje privilegijama i strože tehničke zahtjeve za buduće verzije.

Jedan od najdiskutovanijih pokreta u ovom ciklusu je prelazak na veću modularnost i eliminaciju naslijeđenih zavisnosti, što otvara put Linux ekosistemu koji se definitivno udaljava od standarda iz proteklih decenija.

Glavne nove karakteristike systemd 259

Nova verzija 259 systemd-a ističe se kao... prva verzija koja dodaje djelomičnu kompatibilnost s Musl-om, popularna C standardna biblioteka u laganim distribucijama i ugrađenim okruženjima. Ova integracija Upravlja se putem libc opcije u Meson sistemu za izgradnju. Međutim, budući da Musl ne implementira NSS (Name Service Switch) funkcionalnost, nekoliko systemd komponenti ostaje onemogućeno u ovoj konfiguraciji.

Među aznačajni izostanci prilikom kompajliranja sa Musl-om oni su nss-systemd, nss-resolve, systemd-homed, systemd-userdbd i parametar DynamicUserNadalje, nije moguće pokrenuti systemd-nspawn bez privilegija unutar ove biblioteke. Programeri su upozorili da će održavanje ove podrške u budućim verzijama zavisiti od potražnje zajednice i stabilnosti bilo kojih dodatnih slojeva kompatibilnosti koji budu razvijeni.

Još jedna nova karakteristika nove verzije je u uslužnom programu run0, dizajniran kao moderna i sigurna alternativa za sudo, koji je dobio nova opcija – osnaživanje. Ova funkcija Omogućava vam prijavu sa povišenim privilegijama. bez potrebe za promjenom korisničkog identifikatora (UID) u root.

Pored toga, umjesto delegiranja potpune kontrole putem promjene korisnika, –empower koristi indikatore mogućnosti kernela, kao što su CAP_SYS_ADMIN, izdati strogo potrebne dozvole za upućivanje privilegovanih sistemskih poziva. Osim toga, rezultirajući procesi su integrirani u određenu grupu koja im daje pristup Polkit akcijama, održavajući robusniju podjelu privilegija nego tradicionalni sudo model.

Kraj jedne ere: Zbogom Sistemu V i novim zahtjevima

systemd 259 označava početak kraja za kompatibilnost sa Servisne skripte System VNajavljeno je da će u sljedećoj verziji, zastarjele komponente poput systemd-sysv-generator, systemd-rc-local-generator i systemd-sysv-install biti trajno uklonjene.

Uz ovo čišćenje starog koda, minimalni softverski zahtjevi za systemd ekosistem su značajno povećani:

  • Linux kernel: Minimalna verzija 5.10.
  • Glibc: 2.34.
  • OpenSSL: 3.0.0.
  • Utility-linux: 2.37.
  • Ostalo: Python 3.9.0, cryptsetup 2.4.0 i libseccomp 2.4.0.

Modularnost i dinamičko učitavanje u libsystemd

como dio inicijative za smanjenje ovisnosti direktno pri pokretanju, libsystemd sada koristi dinamičko učitavanje putem dlopen() funkcije Za biblioteke kao što su libacl, libblkid, libseccomp, libselinux i libmount, sistem će učitati ove biblioteke u memoriju samo kada proces zahtijeva njihove specifične funkcije, optimizirajući korištenje resursa. Osim toga, funkcionalnost libcap-a je integrirana direktno u libsystemd, pojednostavljujući lanac zavisnosti.

El Obrada logova je promijenila svoju zadanu konfiguraciju: način pohranjivanja dnevnika (časopis) promjene iz "automatskog" u "trajno", bez obzira na to da li je direktorij /var/log/journal prethodno postojao.

U oblasti mreža i virtualizacije:

  • systemd-networkd i systemd-nspawn: Podrška za NAT pravila koja koriste iptables je uklonjena, ostavljajući nftables kao jedinu kompatibilnu opciju.
  • systemd-riješeno: Sada omogućava korištenje lokalnih kuka (hookova) u /run/systemd/resolve.hook/ za intervenciju u zahtjevima za razrješavanje imena.
  • systemd-importd: Logika za rad s TAR datotekama je izvorno integrirana. Nadalje, i `importd` i `machined` sada se mogu pokrenuti na nivou korisnika, što omogućava upravljanje slikama u lokalnom direktoriju korisnika (`~/.local/state/machines/`).

Ostale inovacije

API zasnovan na protokolu Varlink je dobio poboljšanja koja omogućavaju pristup postavkama servisa i upućivanje IPC poziva. kao što su Reload() i Reexecute(). Za sistem administratore, uključivanje svojstva OOMKills u servise će biti veoma korisno, jer će im omogućiti da prate koliko je puta proces prekinut zbog nedostatka memorije direktno iz systemd alata.

Konačno, proces pokretanja sistema postaje moderniji uklanjanjem podrške za TPM 1.2 u systemd-boot-u, fokusirajući sve sigurnosne napore na TPM 2.0 standard.

Ako ste zainteresovani da saznate više o tome, možete konsultovati detalje na sljedećem linku.