systemd 259: Podpora Musl, posílení run0 a sbohem System V

Klíčové body:
  • Částečná podpora pro Musl libc (vyžaduje ruční konfiguraci v Mesonu).
  • run0 --empower umožňuje privilegované akce bez změny UID uživatele.
  • Potvrzeno ukončení podpory skriptů System V a zvýšené požadavky (jádro 5.10+).
  • libsystemd nyní načítá externí knihovny pomocí dlopen() pro snížení závislostí.
  • Úložiště deníku je nyní ve výchozím nastavení „trvalé“.

systemd

Po něco málo přes třech měsících vývoje, spuštění nová verze systém 259. Tato aktualizace zavádí změny v architektuře systému, zdůrazňuje otevřenost vůči alternativním standardním knihovnám, přísnější správu oprávnění a přísnější technické požadavky pro budoucí verze.

Jedním z nejdiskutovanějších hnutí v tomto cyklu je přechod k větší modularitě a eliminaci závislostí na starších systémech, což připravuje cestu pro ekosystém Linuxu, který se definitivně odklání od standardů minulých desetiletí.

Hlavní nové funkce systemd 259

Nová verze systemd 259 vyniká tím, že je... první verze s částečnou kompatibilitou s Musl, populární standardní knihovna jazyka C v lehkých distribucích a vestavěných prostředích. Tato integrace Spravuje se pomocí volby libc v systému sestavení Meson. Protože však Musl neimplementuje funkci NSS (Name Service Switch), několik komponent systemd v této konfiguraci zůstává zakázáno.

Mezi avýznamné absence při kompilaci s Musl jsou to nss-systemd, nss-resolve, systemd-homed, systemd-userdbd a parametr DynamicUserDále není možné spustit systemd-nspawn bez oprávnění v této knihovně. Vývojáři varovali, že zachování této podpory v budoucích verzích bude záviset na poptávce komunity a stabilitě případných dalších vyvíjených vrstev kompatibility.

Další novinkou nové verze je v utilitě run0, navržený jako moderní a bezpečná alternativa k sudo, který získal nová možnost – zmocnit. Tato funkce Umožňuje vám přihlásit se se zvýšenými oprávněními. bez nutnosti měnit identifikátor uživatele (UID) na root.

Kromě toho, místo delegování totální kontroly prostřednictvím přepínání uživatelů používá –empower indikátory schopností jádra, jako například CAP_SYS_ADMIN, udělit nezbytně nezbytná povolení provádět privilegovaná systémová volání. Výsledné procesy jsou navíc integrovány do specifické skupiny, která jim uděluje přístup k akcím Polkitu, čímž se zachovává robustnější oddělení oprávnění než u tradičního modelu sudo.

Konec jedné éry: Sbohem Systému V a nové požadavky

systemd 259 označuje začátek konce pro kompatibilita s Servisní skripty System VBylo oznámeno, že v příští verzi budou trvale odstraněny starší komponenty, jako například systemd-sysv-generator, systemd-rc-local-generator a systemd-sysv-install.

Spolu s tímto vyčištěním starého kódu byly výrazně zvýšeny minimální softwarové požadavky pro ekosystém systemd:

  • Jádro Linuxu: Minimální verze 5.10.
  • Glibc: 2.34.
  • OpenSSL: 3.0.0.
  • Utility-linux: 2.37.
  • Ostatní: Python 3.9.0, cryptsetup 2.4.0 a libseccomp 2.4.0.

Modularita a dynamické načítání v libsystemd

Como součást iniciativy na snížení závislostí přímo při spuštění, libsystemd nyní používá dynamické načítání pomocí dlopen() U knihoven jako libacl, libblkid, libseccomp, libselinux a libmount systém načte tyto knihovny do paměti pouze tehdy, když proces vyžaduje jejich specifické funkce, čímž se optimalizuje využití zdrojů. Funkce libcap byla navíc integrována přímo do libsystemd, což zjednodušuje řetězec závislostí.

El Zpracování protokolů změnilo svou výchozí konfiguraci: režim ukládání deníku (Časopis) změny z „automatického“ na „trvalé“, bez ohledu na to, zda adresář /var/log/journal dříve existoval.

V oblasti sítí a virtualizace:

  • systemd-networkd a systemd-nspawn: Podpora pravidel NAT používajících iptables je odstraněna, takže nftables zůstává jedinou kompatibilní možností.
  • systemd-řešeno: Nyní umožňuje použití lokálních hook-ů (záchytných prvků) v /run/systemd/resolve.hook/ k zasahování do požadavků na rozlišení jmen.
  • systemd-importd: Logika pro práci se soubory TAR byla nativně integrována. Navíc lze nyní na uživatelské úrovni spustit jak `importd`, tak `machined`, což umožňuje správu obrazů v lokálním adresáři uživatele (`~/.local/state/machines/`).

Další inovace

API založené na protokolu Varlink obdržel vylepšení, která umožňují přístup k nastavení služeb a provádění IPC volání. například Reload() a Reexecute(). Pro systémové administrátory bude zahrnutí vlastnosti OOMKills do služeb velmi užitečné, protože jim umožní sledovat, kolikrát byl proces ukončen kvůli nedostatku paměti přímo z nástrojů systemd.

Proces spouštění systému se konečně stává modernějším díky odstranění podpory pro TPM 1.2 v systemd-boot a veškeré bezpečnostní úsilí se soustředí na standard TPM 2.0.

Pokud máte zájem dozvědět se o tom více, můžete se podívat na podrobnosti v následujícím odkazu.