systemd system manager verze 249

Po třech měsících vývoje je představeno vydání správce systému systemd 249. Nové vydání poskytuje možnost definovat uživatele/skupiny ve formátu JSON, stabilizuje protokol Journal, zjednodušuje organizaci načítání po sobě jdoucích diskových oddílů, přidává možnost propojení programů BPF se službami a implementace mapování uživatelů v připojených oddílech, nabízí se velká část nových síťových nastavení a příležitostí pro spouštění kontejnerů.

Hlavní změny:

  • Protokol žurnálu je zdokumentován a lze jej použít v klientech místo protokolu syslog pro místní doručování záznamů protokolu. Protokol Journal je implementován již dlouhou dobu a je již používán v některých klientských knihovnách, nicméně jeho oficiální podpora byla oznámena teprve nyní.
  • Userdb a nss-systemd poskytují podporu pro čtení dalších uživatelských definic umístěných v adresářích /etc/userdb/, /run/userdb/, /run/host/userdb/ a /usr/lib/userdb/, specifikovaných ve formátu JSON. Je třeba poznamenat, že tato funkce poskytne další mechanismus pro vytváření uživatelů v systému a poskytne mu plnou integraci s NSS a /etc/shadow. Podpora JSON pro záznamy uživatelů/skupin také umožní připojení různých správ zdrojů a dalších nastavení k uživatelům, které pam_systemd a systemd-logind rozpoznávají.
  • nss-systemd poskytuje syntézu uživatelských/skupinových záznamů v /etc/shadow pomocí hashovaných hesel ze systemd-homed.
  • Byl implementován mechanismus, který zjednodušuje organizaci aktualizací pomocí diskových oddílů, které se navzájem nahrazují (jeden oddíl je aktivní a druhý je náhradní - aktualizace se zkopíruje do náhradního oddílu, poté se stane aktivní). Pokud jsou v obrazu disku dva oddíly root nebo /usr a udev nezjistil přítomnost parametru 'root=' nebo zpracovává obrazy disku určené volbou "--image" v systemd-nspawn a systemd -dissect utility, lze zaváděcí oddíl vypočítat porovnáním štítků GPT (za předpokladu, že štítek GPT zmiňuje číslo verze obsahu oddílu a systemd vybere oddíl s nejnovějšími změnami).
  • Do souborů služeb bylo přidáno nastavení BPFProgram, pomocí kterého můžete organizovat načítání programů BPF do jádra a spravovat je s vazbou na konkrétní služby systemd.
  • Systemd-fstab-generator a systemd-repart přidávají možnost bootování z disků, které mají pouze oddíl /usr a žádný kořenový oddíl (kořenový oddíl bude vygenerován systemd-repart při prvním spuštění).
  • V systemd-nspawn byla možnost „--private-user-chown“ nahrazena obecnější možností „--private-user-ownership“, která může přijímat hodnoty „chown“ jako ekvivalent „-- private-user-chown", "off" pro deaktivaci starého nastavení, "map" pro mapování uživatelských ID na připojených souborových systémech a "auto" pro výběr "map", pokud je požadovaná funkčnost přítomna v jádře (5.12+) nebo se vrátit zpět k rekurzivnímu volání „chown“ jinak. Pomocí mapování můžete mapovat soubory jednoho uživatele na připojeném cizím oddílu na jiného uživatele v aktuálním systému, což usnadňuje sdílení souborů mezi různými uživateli. V mechanismu přenosného domovského adresáře s domovským systémem systemd umožní mapování uživatelům přesunout své domovské adresáře na externí média a používat je na různých počítačích, které nemají stejné rozložení ID uživatele.
  • V systemd-nspawn může nyní volba „--private-user“ používat hodnotu „identity“ k přímému zobrazení ID uživatelů při nastavování jmenného prostoru uživatelů, tzn. UID 0 a UID 1 v kontejneru se projeví v UID 0 a UID 1 na straně hostitele, aby se omezily vektory útoku (kontejner obdrží pouze schopnosti procesu ve svém jmenném prostoru).
  • Možnost „--bind-user“ byla přidána do systemd-nspawn pro předání uživatelského účtu existujícího v hostitelském prostředí do kontejneru (domovský adresář je připojen do kontejneru, je přidán záznam uživatele/skupiny a mapování UID se provádí mezi kontejnerem a hostitelským prostředím).
  • Přidána podpora pro vyžádání nastavení hesel pro systemd-ask-password a systemd-sysusers (passwd.hashed-password. a passwd.plaintext-password. ) pomocí mechanismu zavedeného v systemd 247 k bezpečnému přenosu citlivých dat pomocí přechodných souborů v samostatném adresáři. Ve výchozím nastavení jsou přihlašovací údaje akceptovány z procesu s PID1, který je obdrží například od správce správy kontejnerů, což umožňuje nakonfigurovat heslo uživatele při prvním spuštění.
  • systemd-firstboot přidává podporu pro použití mechanismu bezpečného přenosu citlivých dat k dotazování na různé systémové parametry, které lze použít k inicializaci systémových nastavení při prvním spouštění obrazu kontejneru, který nemá potřebná nastavení v adresáři /etc.
  • Proces PID 1 zajišťuje, že se během spouštění zobrazí název i popis jednotky. Výstup můžete změnit pomocí parametru “StatusUnitFormat=combined” v system.conf nebo pomocí volby příkazového řádku jádra “systemd.status-unit-format=combined”
  • Do obslužných programů systemd-machine-id-setup a systemd-repart byla přidána možnost "--image" pro přenos souboru s ID stroje do obrazu disku nebo pro zvětšení velikosti obrazu disku.
  • Do konfiguračního souboru oddílu používaného obslužným programem systemd-repart byl přidán parametr MakeDirectories, který lze použít k vytvoření libovolných adresářů ve vytvořeném systému souborů, než se projeví v tabulce oddílů (například k vytvoření adresářů pro přípojné body v kořenový oddíl, abyste mohli oddíl okamžitě připojit v režimu pouze pro čtení). Pro ovládání příznaků GPT ve vytvořených sekcích byly přidány odpovídající parametry Flags, ReadOnly a NoAuto. Parametr CopyBlocks má hodnotu „auto“, aby se při kopírování bloků automaticky vybral aktuální spouštěcí oddíl jako zdroj (například když potřebujete přenést svůj vlastní kořenový oddíl na nové médium).
  • GPT implementuje příznak „grow-file-system“, který je podobný možnosti připojení x-systemd.growfs a poskytuje automatické rozšíření velikosti FS na hranice blokového zařízení, pokud je velikost FS menší než oddíl. Příznak je použitelný pro souborové systémy Ext3, XFS a Btrfs a lze jej použít na automaticky detekované diskové oddíly. Příznak je standardně povolen pro zapisovatelné oddíly automaticky vytvořené pomocí systemd-repart. Byla přidána možnost GrowFileSystem pro konfiguraci příznaku v systemd-repart.
  • Soubor /etc/os-release poskytuje podporu pro nové proměnné IMAGE_VERSION a IMAGE_ID k určení verze a ID atomicky aktualizovaných obrazů. Specifikátory %M a %A jsou navrženy k nahrazení zadaných hodnot v různých příkazech.
  • Do obslužného programu portablectl byl přidán parametr „--extension“ pro aktivaci přenosných obrazů rozšíření systému (například prostřednictvím nich můžete distribuovat obrazy s doplňkovými službami integrovanými do kořenového oddílu).
  • Obslužný program systemd-coredump extrahuje informace o sestavení ELF při generování výpisu jádra procesu, což může být užitečné pro určení, ke kterému balíčku selhávající proces patří, pokud byly do ELF zabudovány informace o názvu a verzi balíčků deb nebo rpm. soubory.
  • Do udev byla přidána nová hardwarová základna pro zařízení FireWire (IEEE 1394).
  • V udev byly do schématu výběru názvu síťového rozhraní „net_id“ přidány tři změny, které porušují zpětnou kompatibilitu: nesprávné znaky v názvech rozhraní jsou nyní nahrazeny „_“; Názvy slotů PCI hotplug pro systémy s390 jsou zpracovávány v hexadecimálním tvaru; Je povoleno použití až 65535 vestavěných zařízení PCI (dříve byla čísla nad 16383 blokována).
  • systemd-resolved přidává doménu „home.arpa“ do seznamu NTA (Negative Trust Anchors), což je doporučeno pro místní domácí sítě, ale nepoužívá se v DNSSEC.
  • Parametr CPUAffinity poskytuje analýzu specifikátorů „%“.
  • Do souborů .network byl přidán parametr ManageForeignRoutingPolicyRules, který lze použít k vyloučení systemd-networkd ze zpracování zásad směrování třetích stran.
  • Do souborů „.network“ byl přidán parametr RequiredFamilyForOnline, který určuje přítomnost adresy IPv4 nebo IPv6 jako znamení, že síťové rozhraní je ve stavu „online“. Networkctl poskytuje zobrazení „online“ stavu pro každý odkaz.
  • Do souborů .network byl přidán parametr OutgoingInterface pro definování odchozích rozhraní při konfiguraci síťových mostů.
  • Do souborů „.network“ byl přidán parametr Group, který vám umožňuje nakonfigurovat skupinu Multipath pro položky v sekci „[NextHop]“.
  • Přidány možnosti "-4" a "-6" do systemd-network-wait-online, aby se omezilo čekání na připojení pouze na IPv4 nebo IPv6.
  • Do nastavení serveru DHCP byl přidán parametr RelayTarget, který přepne server do režimu DHCP Ralay. Pro další konfiguraci DHCP relay jsou nabízeny možnosti RelayAgentCircuitId a RelayAgentRemoteId.
  • Do DHCP serveru byl přidán parametr ServerAddress, který umožňuje explicitně nastavit IP adresu serveru (jinak je adresa vybrána automaticky).
  • Server DHCP implementuje sekci [DHCPServerStaticLease], která umožňuje konfigurovat vazby statických adres (pronájmy DHCP), specifikovat pevné vazby IP na adresy MAC a naopak.
  • Nastavení RestrictAddressFamilies podporuje hodnotu „none“, což znamená, že služba nebude mít přístup k soketům žádné rodiny adres.
  • V souborech „.network“ v sekcích [Address], [DHCPv6PrefixDelegation] a [IPv6Prefix] je implementována podpora pro nastavení RouteMetric, které umožňuje zadat metriku pro prefix trasy vytvořený pro zadanou adresu.
  • nss-myhostname a systemd-resolved poskytují syntézu DNS záznamů s adresami pro hostitele se speciálním názvem „_outbound“, pro které je vždy vydána lokální IP, zvolená v souladu s výchozími cestami používanými pro odchozí spojení.
  • V souborech .network v sekci „[DHCPv4]“ bylo přidáno výchozí aktivní nastavení RoutesToNTP, které vyžaduje přidání samostatné trasy přes aktuální síťové rozhraní pro přístup k adrese NTP serveru získané pro toto rozhraní pomocí DHCP (podobně jako DNS , toto nastavení umožňuje zaručit, že provoz na server NTP bude směrován přes rozhraní, přes které byla tato adresa přijata).
  • Přidána nastavení SocketBindAllow a SocketBindDeny pro řízení přístupu k soketům vázaným na aktuální službu.
  • Pro soubory jednotek bylo implementováno podmíněné nastavení nazvané ConditionFirmware, které umožňuje vytvářet kontroly vyhodnocující funkce firmwaru, jako je práce v systémech UEFI a device.tree, a také kontrolovat kompatibilitu s určitými možnostmi stromu zařízení.
  • Implementována volba ConditionOSRelease pro kontrolu polí v souboru /etc/os-release. Při definování podmínek pro kontrolu hodnot polí jsou přijatelné operátory „=“, „!=“, „<“, „<=“, „>=“, „>“.
  • V obslužném programu hostnamectl jsou příkazy jako „get-xyz“ a „set-xyz“ osvobozeny od předpon „get“ a „set“, například namísto „hostnamectl get-hostname“ a „hostnamectl „set-hostname“ můžete použít příkaz „hostnamectl hostname“ , přiřazení hodnoty, která je určena zadáním dalšího argumentu („hodnota hostnamectl hostname“). Podpora starších příkazů byla zachována, aby byla zajištěna kompatibilita.
  • Obslužný program systemd-detect-virt a nastavení ConditionVirtualization zajišťují správnou identifikaci prostředí Amazon EC2.
  • Nastavení LogLevelMax v souborech jednotek nyní platí nejen pro zprávy protokolu generované službou, ale také pro zprávy procesu PID 1, které zmiňují službu.
  • Poskytuje možnost zahrnout data SBAT (UEFI Secure Boot Advanced Targeting) do souborů EFI PE systemd-boot.
  • /etc/crypttab implementuje nové možnosti „headless“ a „password-echo“ - první umožňuje přeskočit všechny operace spojené s interaktivním dotazováním uživatele na hesla a PINy a druhá umožňuje nakonfigurovat metodu zobrazení zadávání hesla (nezobrazovat nic, zobrazovat znak po znaku a zobrazovat hvězdičky). Pro podobné účely byla do systemd-ask-password přidána možnost „--echo“.
  • systemd-cryptenroll, systemd-cryptsetup a systemd-homed rozšířily podporu pro odemykání šifrovaných oddílů LUKS2 pomocí tokenů FIDO2. Přidány nové možnosti „--fido2-with-user-presence“, „--fido2-with-user-verification“ a „-fido2-with-client-pin“ pro ovládání ověření fyzické přítomnosti uživatele, ověření a nutnosti vstoupit PIN kód.
  • Do systemd-journal-gatewayd byly přidány volby „--user“, „--system“, „--merge“ a „--file“, podobně jako volby journalctl.
  • Kromě přímých závislostí mezi jednotkami specifikovanými prostřednictvím parametrů OnFailure a Slice byla přidána podpora implicitních inverzních závislostí OnFailureOf a SliceOf, což může být užitečné například pro určení všech jednotek zahrnutých do slice.
  • Přidány nové typy závislostí mezi jednotkami: OnSuccess a OnSuccessOf (opak OnFailure, volaný po úspěšném dokončení); PropagatesStopTo a StopPropagatedFrom (umožňují šířit událost zastavení jednotky na jinou jednotku); Upholds a UpheldBy (alternativa k Restart).
  • Nástroj systemd-ask-password má nyní možnost „--emoji“ pro ovládání vzhledu symbolu visacího zámku (🔐) v řádku pro zadání hesla.
  • Přidána dokumentace ke stromové struktuře zdrojového kódu systemd.
  • U jednotek byla přidána vlastnost MemoryAvailable, která ukazuje, kolik paměti jednotce zbývá, než dosáhne limitu nastaveného pomocí parametrů MemoryMax, MemoryHigh nebo MemoryAvailable.

Zdroj: opennet.ru

Přidat komentář