Vydání systémového správce systemd 248

Po čtyřech měsících vývoje byl představen release systémového správce systemd 248. V novém vydání byla zajištěna podpora obrazů pro rozšíření systémových adresářů, konfiguračního souboru /etc/veritytab, utility systemd-cryptenroll, odemykání LUKS2 pomocí čipů TPM2 a tokenů FIDO2, spuštění jednotek ve izolovaném prostoru identifikátorů IPC, protokolu B.A.T.M.A.N. pro mesh sítě a backendu nftables pro systemd-nspawn. Stabilizován systemd-oomd.

Hlavní změny:

  • Byla implementována koncepce obrazů rozšíření systému (System Extension), které lze použít k rozšíření hierarchie adresářů /usr/ a /opt/, a k přidání dalších souborů během provozu, i když jsou uvedené adresáře připojeny v režimu pouze pro čtení. Po připojení obrazu rozšíření systému se jeho obsah překrývá na hierarchii /usr/ a /opt/ pomocí OverlayFS.

    Pro připojení, odpojení, prohlížení a aktualizaci obrazů systémových rozšíření byla navržena nová utilita systemd-sysext. Pro automatické připojení již nainstalovaných obrazů během bootování byl přidán servis systemd-sysext.service. Do souboru os-release byl přidán parametr „SYSEXT_LEVEL=“ pro určení úrovně podporovaných systémových rozšíření.

  • Pro jednotky byla implementována konfigurace ExtensionImages, kterou lze použít pro vázání obrazů rozšíření systému na hierarchii názvového prostoru FS jednotlivých izolovaných služeb.
  • Byl přidán konfigurační soubor /etc/veritytab pro nastavení verifikace dat na blokové úrovni pomocí modulu dm-verity. Formát souboru je podobný /etc/crypttab — „název_partice zařízení_pro_data zařízení_pro_hash hesh_kontrola_kořene možnosti“. Pro nastavení chování dm-verity pro kořenové zařízení byl přidán parametr příkazové řádky jádra systemd.verity.root_options.
  • V systemd-cryptsetup byla přidána možnost extrakce URI tokenu PKCS#11 a šifrovaného klíče z hlavičky metadat LUKS2 ve formátu JSON, což umožňuje integrovat údaje o otevření šifrovaného zařízení přímo do samotného zařízení bez zapojení externích souborů.
  • V systemd-cryptsetup byla přidána podpora pro odemykání šifrovaných oddílů LUKS2 pomocí čipů TPM2 a tokenů FIDO2, kromě dříve podporovaných tokenů PKCS#11. Načítání libfido2 se provádí skrze dlopen(), tj. existence je kontrolována za běhu, nikoli jako pevná závislost.
  • Do souboru /etc/crypttab pro systemd-cryptsetup byly přidány nové volby „no-write-workqueue“ a „no-read-workqueue“ pro zapnutí synchronního zpracování vstupu/výstupu souvisejícího se šifrováním a dešifrováním.
  • Do utility systemd-repart byla přidána možnost aktivace šifrovaných oddílů pomocí čipů TPM2, například pro vytvoření šifrovaného oddílu /var při prvním spuštění.
  • Byla přidána utility systemd-cryptenroll pro přiřazení tokenů TPM2, FIDO2 a PKCS#11 k oddílům LUKS, stejně jako pro jejich odpojení a zobrazení, přiřazení záložních klíčů a nastavení hesla pro přístup.
  • Byl přidán parametr PrivateIPC, který umožňuje v unit-souboru nastavit spuštění procesů v izolovaném prostoru IPC s vlastními identifikátory a frontou zpráv. Pro připojení jednotky k již vytvořenému prostoru identifikátorů IPC byla navržena možnost IPCNamespacePath.
  • Byly přidány nastavení ExecPaths a NoExecPaths, které umožňují aplikovat příznak noexec na jednotlivé části souborového systému.
  • Do systemd-networkd byla přidána podpora mesh protokolu B.A.T.M.A.N. („Better Approach To Mobile Adhoc Networking“), který umožňuje vytváření decentralizovaných sítí, kde je každý uzel spojen s okolními uzly. Pro konfiguraci byla navržena sekce [BatmanAdvanced] v .netdev, parametr BatmanAdvanced v .network souborech a nový typ zařízení „batadv“.
  • Byla stabilizována implementace mechanismu pro včasnou reakci na nedostatek paměti v systému systemd-oomd. Byla přidána volba DefaultMemoryPressureDurationSec pro nastavení času čekání na uvolnění zdroje před zasáhnutím do jednotky. Systemd-oomd používá podsystem jádra PSI (Pressure Stall Information) a umožňuje identifikovat počátek vzniku zpoždění způsobených nedostatkem zdrojů a selektivně ukončit náročné procesy v době, kdy systém ještě není v kritickém stavu a nezačíná intenzivně zkracovat mezipaměť a vytěsňovat data do swapové části.
  • Byl přidán parametr příkazové řádky jádra — „root=tmpfs“, který umožňuje připojit kořenový oddíl do dočasného úložiště umístěného v paměti pomocí Tmpfs.
  • Parametr v /etc/crypttab, který určuje soubor s klíčem, nyní může odkazovat na zásuvky typu AF_UNIX a SOCK_STREAM. Klíč by měl být v tomto případě předáván při připojení k zásuvce, což může být například použito pro vytváření služeb, které dynamicky poskytují klíče.
  • Záložní jméno hostitele (fallback) pro použití systémovým správcem a systemd-hostnamed nyní může být nastaveno dvěma způsoby: prostřednictvím parametru DEFAULT_HOSTNAME v os-release a pomocí proměnné prostředí $SYSTEMD_DEFAULT_HOSTNAME. V systému systemd-hostnamed byla také implementována podpora pro specifikaci 'localhost' v názvu hostitele a přidána možnost exportu názvu hostitele, jakož i vlastností 'HardwareVendor' a 'HardwareModel' přes DBus.
  • Blok s nastavovanými proměnnými prostředí nyní může být nakonfigurován přes novou možnost ManagerEnvironment v system.conf nebo user.conf, a to nejen prostřednictvím příkazového řádku jádra a nastavení unit-souborů.
  • Na úrovni kompilace byla poskytnuta možnost použití systémového volání fexecve() pro spouštění procesů namísto execve() za účelem snížení latence mezi ověřováním bezpečnostního kontextu a jeho aplikací.
  • Pro unit-soubory byly přidány nové podmínkové operace ConditionSecurity=tpm2 a ConditionCPUFeature pro kontrolu přítomnosti zařízení TPM2 a jednotlivých funkcí CPU (například ConditionCPUFeature=rdrand lze použít pro kontrolu, zda CPU podporuje operaci RDRAND).
  • Pro dostupné jádra byla implementována automatická generace tabulek systémových volání pro filtry seccomp.
  • Byla přidána možnost vkládání nových montážních vazeb (bind mounts) do stávajících prostorů montážních bodů (mount namespaces) služeb, aniž by bylo nutné restartovat služby. Vkládání se provádí příkazy 'systemctl bind ...' a 'systemctl mount-image ...'.
  • Do nastavení StandardOutput a StandardError byla přidána podpora pro specifikaci cest ve formátu 'truncate:' pro vymazání před použitím.
  • Do sd-bus byla přidána možnost navázat spojení se sezením určeného uživatele uvnitř lokálního kontejneru. Například 'systemctl --user -M lennart@ start quux'.
  • V souborech systemd.link v sekci [Link] byly implementovány parametry:
    • Promiscuous — umožňuje přepnout zařízení do 'promiscuous' 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 front TX a RX;
    • TransmitQueueLength pro nastavení velikosti TX fronty; GenericSegmentOffloadMaxBytes a GenericSegmentOffloadMaxSegment pro nastavení limitů aplikace technologie GRO (Generic Receive Offload).
  • Do souborů systemd.network byly přidány nové nastavení:
    • [Network] RouteTable pro výběr směrovací tabulky;
    • [RoutingPolicyRule] Type pro typ směrování („blackhole“, „unreachable“, „prohibit“);
    • [IPv6AcceptRA] RouteDenyList a RouteAllowList pro seznamy povolených a zakázaných oznámení cest;
    • [DHCPv6] UseAddres pro ignorování vydávané DHCP adresy;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy pro určení politiky ohledně aktivity rozhraní (vždy udržovat ve stavu UP nebo DOWN nebo umožnit uživateli měnit stavy příkazem „ip link set dev“).
  • Do souborů systemd.netdev byly přidány možnosti [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps a [MACVLAN] BroadcastMulticastQueueLength pro nastavení zpracování VLAN paketů.
  • Bylo zastaveno připojení adresáře /dev/ v režimu noexec, jelikož to způsobovalo konflikt při použití vykonávacího příznaku s soubory /dev/sgx. Pro návrat k předchozímu chování je možné použít nastavení NoExecPaths=/dev.
  • Oprávnění k souboru /dev/vsock byla změněna na 0o666, a soubory /dev/vhost-vsock a /dev/vhost-net byly přesunuty do skupiny kvm.
  • Základna identifikátorů zařízení byla rozšířena o USB zařízení pro čtení otisků prstů, která správně podporují přechod do spánkového režimu.
  • systemd-resolved byla přidána podpora pro poskytování odpovědí na DNSSEC dotazy prostřednictvím stub resolveru. Lokální klienti mohou provádět DNSSEC validaci sami, zatímco externí jsou směrovány v nezměněné podobě na rodičovský DNS server.
  • Do resolved.conf byla přidána možnost CacheFromLocalhost, při které systemd-resolved bude používat caching i pro dotazy na DNS server s adresou 127.0.0.1 (ve výchozím nastavení je caching podobných dotazů vypnut pro vyloučení dvojitého cachingu).
  • Do systemd-resolved byla přidána podpora RFC-5001 NSID v lokálním DNS resolveru, která umožňuje klientům rozeznat interakci s lokálním resolverem a jiným. serverem DNS.
  • V nástroji resolvectl byla implementována možnost výstupu informací o zdroji dat (lokální cache, dotaz v síti, odpověď místního zpracovatele) a použití šifrování při přenosu dat. Pro správu procesu určování názvu byly navrženy možnosti —cache, —synthesize, —network, —zone, —trust-anchor a —validate.
  • Do systemd-nspawn byla přidána podpora pro konfiguraci firewallu pomocí nftables vedle existující podpory iptables. V nastavení IPMasquerade v systemd-networkd byla přidána možnost využívat backend založený na nftables.
  • Do systemd-localed byla přidána podpora pro volání locale-gen pro generaci chybějících lokalizací.
  • Do různých nástrojů byly přidány možnosti —pager/—no-pager/—json= pro zapnutí/vypnutí režimu stránkování a výstupu ve formátu JSON. Byla přidána možnost nastavení počtu barev používaných v terminálu prostřednictvím proměnné prostředí SYSTEMD_COLORS ("16" nebo "256").
  • Byla prohlášena za zastaralou sestavení s oddělenými hierarchiemi adresářů (rozdělení / a /usr) a podpora cgroup v1.
  • Hlavní větev v Gitu byla přejmenována z ‘master’ na ‘main’.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster