systemd system manager verze 248

Po čtyřech měsících vývoje je představeno vydání správce systému systemd 248. Nové vydání poskytuje podporu pro obrazy pro rozšiřování systémových adresářů, konfigurační soubor /etc/veritytab, obslužný program systemd-cryptenroll, odemykání LUKS2 pomocí čipů TPM2 a FIDO2 tokeny, běžící jednotky v izolovaném prostoru identifikátorů IPC, protokol BATMAN pro mesh sítě, backend nftables pro systemd-nspawn. Systemd-oomd byl stabilizován.

Hlavní změny:

  • Byl implementován koncept obrazů System Extension, který lze použít k rozšíření hierarchie adresářů /usr/ a /opt/ a přidání dalších souborů za běhu, i když jsou zadané adresáře připojeny pouze pro čtení. Když je připojen obraz rozšíření systému, jeho obsah se překryje v hierarchii /usr/ a /opt/ pomocí OverlayFS.

    Pro připojení, odpojení, zobrazení a aktualizaci obrazů systémových rozšíření byl navržen nový nástroj systemd-sysext. Pro automatické připojení již nainstalovaných obrazů během spouštění byla přidána služba systemd-sysext.service. Do souboru os-release byl přidán parametr "SYSEXT_LEVEL=", který určuje úroveň podporovaných systémových rozšíření.

  • U jednotek bylo implementováno nastavení ExtensionImages, pomocí kterého lze propojit image rozšíření systému s hierarchií jmenného prostoru FS jednotlivých izolovaných služeb.
  • Přidán konfigurační soubor /etc/veritytab pro konfiguraci ověřování dat na úrovni bloku pomocí modulu dm-verity. Formát souboru je podobný jako /etc/crypttab – „název_sekce device_for_data device_for_hashs check_hash_root options“. Byla přidána volba příkazového řádku jádra systemd.verity.root_options pro konfiguraci chování dm-verity pro kořenové zařízení.
  • systemd-cryptsetup přidává možnost extrahovat URI tokenu PKCS#11 a šifrovaný klíč z hlavičky metadat LUKS2 ve formátu JSON, což umožňuje integraci informací o otevření šifrovaného zařízení do samotného zařízení bez použití externích souborů.
  • systemd-cryptsetup poskytuje podporu pro odemykání šifrovaných oddílů LUKS2 pomocí čipů TPM2 a tokenů FIDO2, navíc k dříve podporovaným tokenům PKCS#11. Načítání libfido2 se provádí přes dlopen(), tzn. dostupnost se kontroluje za běhu, spíše než jako pevně propojená závislost.
  • Nové volby "no-write-workqueue" a "no-read-workqueue" byly přidány do /etc/crypttab pro systemd-cryptsetup, aby umožnily synchronní zpracování I/O spojené se šifrováním a dešifrováním.
  • Nástroj systemd-repart přidal možnost aktivovat šifrované oddíly pomocí čipů TPM2, například vytvořit šifrovaný oddíl /var při prvním spuštění.
  • Byl přidán obslužný program systemd-cryptenroll, který váže tokeny TPM2, FIDO2 a PKCS#11 k oddílům LUKS a také odepíná a zobrazuje tokeny, váže náhradní klíče a nastavuje heslo pro přístup.
  • Přidán parametr PrivateIPC, který umožňuje konfigurovat soubor jednotky tak, aby spouštěl procesy v izolovaném prostoru IPC s vlastními samostatnými identifikátory a frontou zpráv. Pro připojení jednotky k již vytvořenému prostoru identifikátorů IPC je navržena možnost IPCNamespacePath.
  • Přidána nastavení ExecPaths a NoExecPaths, která umožňují použití příznaku noexec na konkrétní části systému souborů.
  • systemd-networkd přidává podporu pro mesh protokol BATMAN (Better Approach To Mobile Adhoc Networking), který umožňuje vytváření decentralizovaných sítí, ve kterých je každý uzel připojen přes sousední uzly. Pro konfiguraci je navržena sekce [BatmanAdvanced] v .netdev, parametr BatmanAdvanced v souborech .network a nový typ zařízení „batadv“.
  • Implementace mechanismu včasné odezvy na nedostatek paměti v systému systemd-oomd byla stabilizována. Přidána možnost DefaultMemoryPressureDurationSec pro konfiguraci čekací doby na uvolnění zdroje před ovlivněním jednotky. Systemd-oomd využívá jaderný subsystém PSI (Pressure Stall Information) a umožňuje detekovat nástup zpoždění kvůli nedostatku zdrojů a selektivně ukončit procesy náročné na zdroje ve fázi, kdy systém ještě není v kritickém stavu a není začněte intenzivně ořezávat mezipaměť a přemisťovat data do odkládacího oddílu.
  • Přidán parametr příkazového řádku jádra „root=tmpfs“, který vám umožňuje připojit kořenový oddíl do dočasného úložiště umístěného v RAM pomocí Tmpfs.
  • Parametr /etc/crypttab, který určuje soubor klíčů, může nyní ukazovat na typy soketů AF_UNIX a SOCK_STREAM. V tomto případě je nutné zadat klíč při připojení k soketu, což lze například použít k vytvoření služeb, které dynamicky vydávají klíče.
  • Záložní název hostitele pro použití správcem systému a systemd-hostnamed lze nyní nastavit dvěma způsoby: pomocí parametru DEFAULT_HOSTNAME v os-release a pomocí proměnné prostředí $SYSTEMD_DEFAULT_HOSTNAME. systemd-hostnamed také zpracovává "localhost" v názvu hostitele a přidává možnost exportovat název hostitele a také vlastnosti "HardwareVendor" a "HardwareModel" prostřednictvím DBus.
  • Blok s exponovanými proměnnými prostředí lze nyní konfigurovat pomocí nové volby ManagerEnvironment v system.conf nebo user.conf, a to nejen prostřednictvím příkazového řádku jádra a nastavení souboru jednotek.
  • V době kompilace je možné ke spuštění procesů místo execve() použít systémové volání fexecve(), aby se zkrátila prodleva mezi kontrolou kontextu zabezpečení a jeho aplikací.
  • Pro soubory jednotek byly přidány nové podmíněné operace ConditionSecurity=tpm2 a ConditionCPUFeature pro kontrolu přítomnosti zařízení TPM2 a jednotlivých možností CPU (například ConditionCPUFeature=rdrand lze použít ke kontrole, zda procesor podporuje operaci RDRAND).
  • Pro dostupná jádra bylo implementováno automatické generování tabulek systémových volání pro filtry seccomp.
  • Přidána možnost nahradit nová připojení k existujícím jmenným prostorům připojení služeb bez restartování služeb. Náhrada se provádí pomocí příkazů 'systemctl bind ...“ a „systemctl mount-image …'.
  • Přidána podpora pro specifikaci cest v nastavení StandardOutput a StandardError ve tvaru „zkrátit: » pro čištění před použitím.
  • Přidána možnost vytvořit připojení k určité uživatelské relaci v rámci místního kontejneru na sd-bus. Například "systemctl -user -M lennart@ start quux".
  • Následující parametry jsou implementovány v souborech systemd.link v sekci [Link]:
    • Promiskuitní - umožňuje přepnout zařízení do „promiskuitního“ režimu pro zpracování všech síťových paketů, včetně těch, které nejsou adresovány aktuálnímu systému;
    • TransmitQueues a ReceiveQueues pro nastavení počtu TX a RX front;
    • TransmitQueueLength pro nastavení velikosti fronty TX; GenericSegmentOffloadMaxBytes a GenericSegmentOffloadMaxSegment pro nastavení limitů pro použití technologie GRO (Generic Receive Offload).
  • Do souborů systemd.network byla přidána nová nastavení:
    • [Network] RouteTable pro výběr směrovací tabulky;
    • [RoutingPolicyRule] Typ pro typ směrování ("blackhole, "unreachable", "prohibit");
    • [IPv6AcceptRA] RouteDenyList a RouteAllowList pro seznamy povolených a zakázaných reklam na trasy;
    • [DHCPv6] UseAddres k ignorování adresy vydané DHCP;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy pro definování politiky týkající se aktivity rozhraní (vždy mějte ve stavu NAHORU nebo DOLŮ nebo povolte uživateli měnit stavy pomocí příkazu „ip link set dev“).
  • Do souborů systemd.netdev byly přidány možnosti protokolu [VLAN], IngressQOSMaps, EgressQOSMaps a [MACVLAN] BroadcastMulticastQueueLength pro konfiguraci zpracování paketů VLAN.
  • Zastavilo se připojování adresáře /dev/ v režimu noexec, protože způsobuje konflikt při použití příznaku spustitelného souboru se soubory /dev/sgx. Chcete-li vrátit staré chování, můžete použít nastavení NoExecPaths=/dev.
  • Oprávnění souboru /dev/vsock byla změněna na 0o666 a soubory /dev/vhost-vsock a /dev/vhost-net byly přesunuty do skupiny kvm.
  • Databáze ID hardwaru byla rozšířena o čtečky otisků prstů USB, které správně podporují režim spánku.
  • systemd-resolved přidal podporu pro vydávání odpovědí na dotazy DNSSEC prostřednictvím stub resolveru. Lokální klienti mohou provádět ověřování DNSSEC sami, zatímco externí klienti jsou beze změny připojeni k nadřazenému serveru DNS.
  • Do resolved.conf byla přidána možnost CacheFromLocalhost, pokud je nastaveno, systemd-resolved bude používat ukládání do mezipaměti i pro volání na server DNS na 127.0.0.1 (ve výchozím nastavení je ukládání takových požadavků do mezipaměti zakázáno, aby se zabránilo dvojitému ukládání do mezipaměti).
  • systemd-resolved přidává podporu pro RFC-5001 NSID v lokálním DNS resolveru, což klientům umožňuje rozlišovat mezi interakcemi s lokálním resolverem a jiným DNS serverem.
  • Utilita resolvectl implementuje možnost zobrazení informací o zdroji dat (lokální cache, síťový požadavek, odpověď lokálního procesoru) a použití šifrování při přenosu dat. Volby --cache, --synthesize, --network, --zone, --trust-anchor a --validate jsou k dispozici pro řízení procesu určování jména.
  • systemd-nspawn přidává k existující podpoře iptables podporu pro konfiguraci firewallu pomocí nftables. Nastavení IPMasquerade v systemd-networkd přidalo možnost používat backend založený na nftables.
  • systemd-localed přidal podporu pro volání locale-gen pro generování chybějících lokalit.
  • Možnosti --pager/-no-pager/-json= byly přidány do různých nástrojů pro zapnutí/vypnutí režimu stránkování a výstupu ve formátu JSON. Přidána možnost nastavit počet barev použitých v terminálu prostřednictvím proměnné prostředí SYSTEMD_COLORS („16“ nebo „256“).
  • Sestavení se samostatnými hierarchiemi adresářů (split / a /usr) a podporou cgroup v1 byly zastaralé.
  • Hlavní větev v Gitu byla přejmenována z 'master' na 'main'.

Zdroj: opennet.ru

Přidat komentář