Vydanie systémového manažéra systemd 249

Po troch mesiacoch vývoja bol uvedený release systémového manažéra systemd 249. Nový vydanie zabezpečuje možnosť definovania používateľov/skupín vo formáte JSON, stabilizovaný protokol Journal, zjednodušená organizácia načítania diskových oddielov, ktoré sa navzájom nahrádzajú, bola pridaná možnosť pripojenia programov BPF k službám, implementované mapovanie identifikátorov používateľov v pripojených oddieloch, ponúknutá väčšia porcia nových sieťových nastavení a možností pre spúšťanie kontajnerov.

Hlavné zmeny:

  • Protokol Journal, ktorý je možné použiť v klientoch namiesto protokolu syslog na miestnu dodávku protokolových záznamov, bol zdokumentovaný. Protokol Journal bol implementovaný už dosť dávno a už sa používa v niektorých klientských knižniciach, avšak jeho oficiálna podpora bola oznámená až teraz.
  • V userdb a nss-systemd je zabezpečené čítanie dodatočných definícií používateľov umiestnených v adresároch /etc/userdb/, /run/userdb/, /run/host/userdb/ a /usr/lib/userdb/, definovaných vo formáte JSON. Uvádza sa, že táto možnosť poskytne dodatočný mechanizmus na vytváranie používateľov v systéme, pričom zabezpečí plnú integráciu s NSS a /etc/shadow. Podpora formátu JSON pre záznamy používateľov/skupín tiež umožní pripojiť k používateľom rôzne parametre správy zdrojov a ďalšie nastavenia, ktoré rozpoznávajú pam_systemd a systemd-logind.
  • V nss-systemd bol zabezpečený syntéza záznamov používateľa/skupiny v /etc/shadow pomocou hashovaných hesiel z systemd-homed.
  • Bol implementovaný mechanizmus, ktorý zjednodušuje organizáciu aktualizácie pomocou nahrádzajúcich sa diskových oddielov (jeden oddiel aktívny a druhý záložný — aktualizácia sa kopíruje na záložný oddiel, po čom sa stane aktívnym). Ak v diskovom obraze sú prítomné dva koreňové alebo /usr oddiely a udev nedefinoval prítomnosť parametra ‘root=’ alebo sa spracovávajú diskové obrazy zadané cez možnosť „—image“ v utilitách systemd-nspawn a systemd-dissect, môže byť oddiel na načítanie vypočítaný porovnaním štítkov GPT (predpokladá sa, že v štítku GPT je uvedené číslo verzie obsahu oddielu a systemd vyberie oddiel s novšími zmenami).
  • Do súborov služieb bola pridaná konfigurácia BPFProgram, pomocou ktorej je možné organizovať načítanie BPF programov do jadra a ich riadenie so viazaním na určité služby systemd.
  • Do systemd-fstab-generator a systemd-repart bola pridaná možnosť načítania z diskov, na ktorých sa nachádza iba oddiel /usr a nie je tam koreňový oddiel (koreňový oddiel bude vygenerovaný utilitou systemd-repart počas prvého spustenia).
  • V systemd-nspawn bola voľba "—private-user-chown" nahradená univerzálnejšou možnosťou "—private-user-ownership", ktorá môže prijímať hodnoty "chown" ako ekvivalent "—private-user-chown", "off" na vypnutie starého nastavenia, "map" na mapovanie identifikátorov používateľov na pripojených súborových systémoch a "auto" na výber "map" pri dostupnosti požadovanej funkcie v jadre (5.12+) alebo na návrat k rekurzívnemu volaniu "chown" v opačnom prípade. Pomocou mapovania je možné priradiť súbory jedného používateľa na pripojenom cudzom oddiele k inému používateľovi v súčasnom systéme, čo uľahčuje spoločné používanie súborov rôznymi používateľmi. V mechanizme prenosných domácich adresárov systemd-homed mapovanie umožní používateľom presúvať svoje domáce adresáre na externé médiá a používať ich na rôznych počítačoch, kde sa rozloženie identifikátorov používateľov nezhoduje.
  • V systemd-nspawn v možnosti "—private-user" je teraz možné použiť hodnotu "identity" na priame zobrazenie identifikátorov používateľov pri nastavení menného priestoru (user namespace), t.j. UID 0 a UID 1 v kontejnere budú zobrazené ako UID 0 a UID 1 na strane hostiteľa, čo znižuje vektory útokov (kontajner získa schopnosti procesu iba vo svojom mennom priestore).
  • V systemd-nspawn bola pridaná možnosť "—bind-user" na prenos účtu používateľa do kontajnera, ktorý sa nachádza v hostiteľskom prostredí (do kontajnera sa pripojí domáci adresár, pridá sa záznam o používateľovi/skupine a vykoná sa mapovanie UID medzi kontajnerom a hostiteľským prostredím).
  • V systemd-ask-password a systemd-sysusers bola pridaná podpora žiadosti o nastaviteľné heslá (passwd.hashed-password.<user> a passwd.plaintext-password.<user>) pomocou mechanizmu bezpečného prenášania dôverných údajov, ktorý bol zavedený vo vydaní systemd 247 s použitím dočasných súborov v samostatnom adresári. Predvolene sa poverenia akceptujú od procesu s PID1, ktorý ich získava napríklad od manažéra kontajnerov, čo umožňuje nastaviť heslo používateľa pri prvom spustení.
  • V systemd-firstboot bola pridaná podpora využitia mechanizmu bezpečného prenášania dôverných údajov na žiadosť o rôzne systémové parametre, čo je možné využiť na inicializáciu systémových nastavení pri prvom spustení obrazu kontajnera, v ktorom chýbajú potrebné nastavenia v adresári /etc.
  • V procese PID 1 počas spustenia je zabezpečené zobrazenie súčasne názvu a popisu jednotky. Výstup môžete zmeniť prostredníctvom parametra „StatusUnitFormat=combined“ v system.conf alebo vo voľbe príkazového riadku jadra „systemd.status-unit-format=combined“
  • Do nástrojov systemd-machine-id-setup a systemd-repart bola pridaná možnosť „—image“ na prenášanie súboru s identifikátorom stroja do diskového obrazu alebo na zväčšenie veľkosti diskového obrazu.
  • Do súboru nastavenia oddielov, ktorý používa nástroj systemd-repart, bol pridaný parameter MakeDirectories, ktorý možno využiť na vytvorenie ľubovoľných adresárov v vytváranej súborovej sústave na etape pred zaznamenaním do tabuľky oddielov (napríklad na vytvorenie v koreňovom oddiele adresárov pre montažné body, aby bolo možné okamžite pripojiť oddiel v režime len na čítanie). Na správu GPT-flaga v vytváraných oddieloch boli pridané príslušné parametre Flags, ReadOnly a NoAuto. V parametri CopyBlocks bolo implementované hodnotenie „auto“ pre automatický výber aktuálneho zavádzacieho oddielu ako zdroja pri kopírovaní blokov (napríklad keď je potrebné preniesť vlastný koreňový oddiel na nové médium).
  • Vo vnútri GPT bol implementovaný prepínač „grow-file-system“, ktorý je analogický k možnosti pripojenia x-systemd.growfs a umožňuje automatické rozšírenie veľkosti FS až na hranice blokového zariadenia, ak je veľkosť FS menšia ako oddiel. Prepínač je použitelný pre FS Ext3, XFS a Btrfs a môže sa aplikovať na automaticky určované oddiely. Prepínač je predvolene zapnutý pre zapisovateľné oddiely, ktoré sú automaticky vytvárané pomocou systemd-repart. Pre nastavenie prepínača v systemd-repart bola pridaná možnosť GrowFileSystem.
  • Vo súbore /etc/os-release bola implementovaná podpora nových premenných IMAGE_VERSION a IMAGE_ID na definovanie verzie a identifikátora atomárne aktualizovaných obrazov. Na vloženie uvedených hodnôt do rôznych príkazov boli navrhnuté špecifikátory %M a %A.
  • Do nástroja portablectl bol pridaný parameter „—extension“ na aktiváciu prenosných obrazov rozšírenia systému (napríklad prostredníctvom nich je možné distribuovať obrazy s dodatočnými službami integrovanými do koreňového oddielu).
  • V nástroji systemd-coredump bolo zabezpečené extrahovanie ELF-informácie build-id pri vytváraní core-dumpu procesu, čo môže byť užitočné na určenie, k akému balíku patrí zlyhajúci proces, ak bola informácia o názve a verzii deb- alebo rpm-balenia zabudovaná do ELF-súborov.
  • V udev bola pridaná nová databáza hardvéru pre zariadenia FireWire (IEEE 1394).
  • Vo vnútri udev do schémy výberu mien sieťových rozhraní „net_id“ boli pridané tri zmeny, ktoré narušujú spätnú kompatibilitu: nekorektné symboly v názvoch rozhraní sa teraz nahrádzajú znakom „_“; názvy slotov PCI hotplug pre systémy s390 sú spracovávané v podobe hexadecimálnych čísel; povolené je používanie až 65535 zabudovaných PCI zariadení (predtým boli čísla nad 16383 zablokované).
  • V systemd-resolved bol do zoznamu NTA (Negative Trust Anchors) pridaný domén „home.arpa“, odporúčaný pre miestne domácnosti, ale neaplikovaný v DNSSEC.
  • V parametri CPUAffinity bol zabezpečený parsing špecifikátorov „%“.
  • Do súborov „.network“ bol pridaný parameter ManageForeignRoutingPolicyRules, ktorý môžete použiť na vylúčenie spracovania v systemd-networkd cudzích politík smerovania.
  • Do súborov „.network“ bol pridaný parameter RequiredFamilyForOnline na určenie prítomnosti IPv4 alebo IPv6 adresy ako znaku, že sieťové rozhranie je v stave „online“. V networkctl bolo zabezpečené zobrazenie stavu „online“ pre každý link.
  • Do súborov „.network“ bol pridaný parameter OutgoingInterface na definovanie odchádzajúcich rozhraní pri nastavovaní sieťových mostov.
  • Do súborov „.network“ bol pridaný parameter Group, ktorý umožňuje nastaviť skupinu Multipath pre záznamy v sekcii „[NextHop]“.
  • Do systemd-network-wait-online boli pridané možnosti „-4“ a „-6“ na obmedzenie čakania na pripojenie iba pre IPv4 alebo IPv6.
  • Do nastavení DHCP servera bol pridaný parameter RelayTarget, ktorý prepína server do režimu DHCP Relay. Na dodatočné nastavenie DHCP relay sú k dispozícii možnosti RelayAgentCircuitId a RelayAgentRemoteId.
  • Do DHCP servera bol pridaný parameter ServerAddress, ktorý umožňuje explicitne nastaviť IP adresu servera (inak sa adresa vyberá automaticky).
  • V DHCP serveri bola implementovaná sekcia [DHCPServerStaticLease], ktorá umožňuje nastaviť statické viazania adries (DHCP leases), uvádzajúc viazania pevných IP na MAC adresy a naopak.
  • V nastavení RestrictAddressFamilies bola implementovaná podpora hodnoty „none“, pri ktorej službe nebudú dostupné zásuvky akejkoľvek rodiny adries.
  • Do súborov „.network“ v sekciách [Address], [DHCPv6PrefixDelegation] a [IPv6Prefix] bola implementovaná podpora nastavenia RouteMetric, ktorá umožňuje uviesť metriku pre prefix smerovania vytvoreného pre zadanú adresu.
  • V nss-myhostname a systemd-resolved bol zabezpečený syntéza DNS záznamov s adresami pre hostiteľov so špeciálnym menom „_outbound“, pre ktoré sa vždy poskytuje lokálna IP, vybraná v súlade s predvolenými smernicami používanými pre odchádzajúce pripojenia.
  • Do súborov .network v sekcii „[DHCPv4]“ bola pridaná predvolená aktívna konfigurácia RoutesToNTP, ktorá predpisuje pridanie samostatnej trasy cez aktuálne sieťové rozhranie na prístup k adrese NTP servera, získanej pre toto rozhranie pomocou DHCP (podobne ako nastavenie DNS zabezpečuje, že prenos k NTP serveru bude smerovaný cez rozhranie, cez ktoré bola táto adresa získaná).
  • Boli pridané nastavenia SocketBindAllow a SocketBindDeny na správu prístupu k zásuvkám, pripojeným k aktuálnej službe.
  • Pre unit súbory bola implementovaná podmienečná konfigurácia ConditionFirmware, ktorá umožňuje vytvárať kontroly hodnotiace funkcie firmvéru, ako je činnosť na systémoch UEFI a device.tree, a tiež overiť kompatibilitu s určitými možnosťami device-tree.
  • Implementovaná možnosť ConditionOSRelease na overenie polí vo súbore /etc/os-release. Pri určovaní podmienok overovania hodnôt polí sú povolené operátory „=“, „!=“, „<“, „=“, „>‘.
  • Vo utilite hostnamectl boli príkazy vo forme „get-xyz“ a „set-xyz“ zbavené prefixov „get“ a „set“, napríklad namiesto „hostnamectl get-hostname“ a „hostnamectl set-hostname“ je možné použiť príkaz „hostnamectl hostname“, pričom priradenie hodnoty sa určuje zadaním dodatočného argumentu („hostnamectl hostname value“). Podpora starých príkazov bola zachovaná na zabezpečenie kompatibility.
  • V utilite systemd-detect-virt a nastavení ConditionVirtualization bola zabezpečená správna identifikácia prostredí Amazon EC2.
  • Nastavenie LogLevelMax v unit súboroch sa teraz uplatňuje nielen na logové správy vytvorené službou, ale aj na správy procesu PID 1, v ktorých sa spomína služba.
  • Bola poskytnutá možnosť zapnutia údajov SBAT (UEFI Secure Boot Advanced Targeting) v súboroch systemd-boot EFI PE.
  • V /etc/crypttab boli implementované nové možnosti „headless“ a „password-echo“ — prvá umožňuje preskočiť všetky operácie spojené s interaktívnym dopytom hesiel a PIN-ov od užívateľa, zatiaľ čo druhá poskytuje možnosť nastaviť metódu zobrazenia zadávania hesla (nič nezobraziť, zobraziť po znaku a zobrazovať hviezdičky). V systemd-ask-password bola pridaná voľba „—echo“ na podobné účely.
  • V systemd-cryptenroll, systemd-cryptsetup a systemd-homed bola rozšírená podpora odomknutia šifrovaných oddielov LUKS2 pomocou tokenov FIDO2. Pridané nové možnosti „—fido2-with-user-presence“, „—fido2-with-user-verification“ a „—fido2-with-client-pin“ na riadenie overovania fyzickej prítomnosti užívateľa, verifikácie a potreby zadania PIN kódu.
  • V systemd-journal-gatewayd boli pridané možnosti „—user“, „—system“, „—merge“ a „—file“, podobné týmto rovnako nazvaným možnostiam journalctl.
  • Okrem priamej závislosti medzi unitmi, ktoré sú nastavené prostredníctvom parametrov OnFailure a Slice, bola pridaná podpora nepriamej spätná závislosti OnFailureOf a SliceOf, ktoré môžu byť užitočné napríklad na určenie všetkých unit-ov zapojených do slice.
  • Boli pridané nové typy závislostí medzi unitmi: OnSuccess a OnSuccessOf (opak OnFailure, vyvolané pri úspešnom dokončení); PropagatesStopTo a StopPropagatedFrom (umožňujú rozšíriť udalosť zastavenia unit-u na iný unit); Upholds a UpheldBy (alternatíva Restart).
  • V utilitě systemd-ask-password se objevila možnost „—emoji“ pro správu zobrazení symbolu zámku (🔐) v řádku pro zadání hesla.
  • Byla přidána dokumentace k struktuře stromu zdrojových textů systemd.
  • Pro jednotky bylo přidáno vlastnost MemoryAvailable, která ukazuje, kolik paměti zbývá jednotce před dosažením limitu stanoveného prostřednictvím parametrů MemoryMax, MemoryHigh nebo MemoryAvailable.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster