Efter fyra mÄnaders utveckling presenterades versionen av systemhanteraren systemd 248. I denna nya version har stöd lagts till för bilder för utvidgning av systemkataloger, konfigurationsfilen /etc/veritytab, verktyget systemd-cryptenroll, avblÄsning av LUKS2 med hjÀlp av TPM2-chip och FIDO2-token, start av enheter i ett isolerat IPC-ID-utrymme och protokollet B.A.T.M.A.N. för mesh-nÀtverk, samt backend för nftables för systemd-nspawn. systemd-oomd har stabiliserats.
Huvudsakliga förÀndringar:
- Konceptet med systemutvidgningsbilder (System Extension) har införts, vilket kan anvÀndas för att utöka kataloghierarkin /usr/ och /opt/ och för att lÀgga till ytterligare filer under drift, Àven om de angivna katalogerna Àr monterade som skrivskyddade. NÀr en systemutvidgningsbild ansluts överlagras dess innehÄll pÄ hierarkin /usr/ och /opt/ med hjÀlp av OverlayFS.
För att ansluta, koppla bort, visa och uppdatera systemutvidgningsbilder har ett nytt verktyg, systemd-sysext, föreslagits. För att automatiskt ansluta redan installerade bilder under uppstart har tjÀnsten systemd-sysext.service lagts till. Parametern "SYSEXT_LEVEL=" har lagts till i filen os-release för att definiera nivÄn för stödda systemutvidgningar.
- För enheter har instÀllningen ExtensionImages införts, som kan anvÀndas för att binda systemutvidgningsbilder till hierarkin för namnrymden i de enskilda isolerade tjÀnsterna.
- En konfigurationsfil, /etc/veritytab, har lagts till för att konfigurera verifiering av data pĂ„ blocknivĂ„ med hjĂ€lp av dm-verity-modulen. Filformatet liknar /etc/crypttab â "namn_partition enhet_för_data enhet_för_hashar rot_hash_verifikation alternativ". För att konfigurera beteendet för dm-verity för rot-enheten har en parameter lagts till i systemd:s kommandoradsalternativ.verity.root_options.
- I systemd-cryptsetup har möjligheten att extrahera URI-token PKCS#11 och den krypterade nyckeln frÄn LUKS2:s metadataheader i JSON-format lagts till, vilket möjliggör att integrera information om att öppna den krypterade enheten direkt i enheten utan att behöva externa filer.
- I systemd-cryptsetup har stöd lagts till för att lÄsa upp krypterade LUKS2-partitioner med hjÀlp av TPM2-chip och FIDO2-token, förutom de tidigare stödda PKCS#11-tokens. Laddningen av libfido2 sker via dlopen(), vilket innebÀr att nÀrvaron kontrolleras dynamiskt snarare Àn som en hÄrdberoende.
- Nya alternativ "no-write-workqueue" och "no-read-workqueue" för att aktivera synkron behandling av I/O kopplade till kryptering och dekryptering har lagts till i /etc/crypttab för systemd-cryptsetup.
- Systemd-repart-vertyg har fÄtt möjligheten att aktivera krypterade partitioner med TPM2-chip, till exempel för att skapa en krypterad partition /var vid första uppstarten.
- Ett nytt verktyg, systemd-cryptenroll, har lagts till för att koppla tokens som TPM2, FIDO2 och PKCS#11 till LUKS-partitioner, samt för att avkoppla och visa tokens, koppla reservnycklar och stÀlla in aktiveringslösenord.
- Parametern PrivateIPC har lagts till för att stÀlla in processer i isolerad IPC-miljö med sina egna ID och meddelandeköer i en enhetsfil. För att ansluta enheten till en redan skapad IPC-ID-miljö föreslÄs alternativet IPCNamespacePath.
- InstÀllningarna ExecPaths och NoExecPaths har lagts till, vilket möjliggör tillÀmpning av noexec-flaggan pÄ specifika delar av filsystemet.
- Systemd-networkd har fÄtt stöd för mesh-protokollet B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking"), vilket möjliggör skapandet av decentraliserade nÀtverk dÀr varje nod Àr kopplad till grannnoder. För konfiguration föreslÄs sektionen [BatmanAdvanced] i .netdev, parametern BatmanAdvanced i .network-filer och en ny enhetstyp "batadv".
- Implementeringen av det tidiga reaktionssystemet för minnesbrist i systemd-oomd har stabiliserats. Alternativet DefaultMemoryPressureDurationSec har lagts till för att stÀlla in vÀntetiden för att frigöra resurser innan ÄtgÀrder vidtas pÄ enheten. Systemd-oomd anvÀnder kÀrnans PSI (Pressure Stall Information) och möjliggör identifiering av början pÄ förseningar pÄ grund av brist pÄ resurser och selektivt avslutande av resurskrÀvande processer innan systemet nÄr en kritisk status och börjar intensifiera cacheutrymmets begrÀnsning och byte av data till sidutrymmet.
- En kernel-kommandoradsparameter â "root=tmpfs" â har lagts till, vilket möjliggör att montera root-partitionen i ett temporĂ€rt lagringsutrymme placerat i RAM-minnet med Tmpfs.
- Parametern i /etc/crypttab som anger nyckelfilen kan nu hÀnvisa till sockets av typen AF_UNIX och SOCK_STREAM. Nyckeln mÄste i detta fall överlÀmnas vid anslutning till socketet, vilket exempelvis kan anvÀndas för att skapa tjÀnster som dynamiskt tillhandahÄller nycklar.
- Ett reservvÀrd namn (fallback) för anvÀndning av systemhanteraren och systemd-hostnamed kan nu anges pÄ tvÄ sÀtt: via parametern DEFAULT_HOSTNAME i os-release och via miljövariabeln $SYSTEMD_DEFAULT_HOSTNAME. I systemd-hostnamed har ocksÄ hantering av att ange "localhost" i vÀrdnamnet implementerats och möjligheten att exportera vÀrdnamn samt egenskaperna "HardwareVendor" och "HardwareModel" via DBus har lagts till.
- Blocket med tilldelade miljövariabler kan nu konfigureras via det nya alternativet ManagerEnvironment i system.conf eller user.conf, snarare Àn enbart genom kÀrnans kommandorad och enhetsfilinstÀllningar.
- Vid kompileringstillfÀllet har möjligheten för att köra processer med systemanropet fexecve() istÀllet för execve() införts för att minska fördröjningen mellan sÀkerhetskontextkontrollen och dess tillÀmpning.
- Nya villkorliga operationer ConditionSecurity=tpm2 och ConditionCPUFeature har lagts till för att kontrollera förekomsten av TPM2-enheter och specifika CPU-funktioner (till exempel kan ConditionCPUFeature=rdrand anvÀndas för att kontrollera om processorn stödjer operationen RDRAND).
- För tillgÀngliga kÀrnor har automatisk generering av systemanrops-tabeller för seccomp-filter implementerats.
- Möjlighet att injicera nya bindmounts i befintliga monteringstĂ€cken (mount namespaces) för tjĂ€nster utan att starta om tjĂ€nsterna. Injektion utförs med kommandona âsystemctl bind âŠâ och âsystemctl mount-image âŠâ.
- Support för att ange sökvÀgar i form av "truncate:" för att rensa innan anvÀndning har lagts till i instÀllningarna StandardOutput och StandardError.
- I sd-bus har stöd för att upprĂ€tta en anslutning till en session av en angiven anvĂ€ndare inom en lokal container lagts till. Till exempel "systemctl âuser -M lennart@ start quux".
- I systemd.link-filer har de hÀr parametrarna implementerats i sektionen [Link]:
- Promiscuous â gör det möjligt att sĂ€tta en enhet i "promiscuous"-lĂ€ge för att bearbeta alla nĂ€tverkspaket, inklusive sĂ„dana som inte Ă€r adresserade till det aktuella systemet;
- TransmitQueues och ReceiveQueues för att konfigurera antalet TX- och RX-köer;
- TransmitQueueLength för att konfigurera storleken pÄ TX-kön; GenericSegmentOffloadMaxBytes och GenericSegmentOffloadMaxSegment för att stÀlla in grÀnser för anvÀndningen av GRO-tekniken (Generic Receive Offload).
- Nya instÀllningar har lagts till i systemd.network-filer:
- [Network] RouteTable för att vÀlja routningstabell;
- [RoutingPolicyRule] Type för routningstypen ("blackhole", "unreachable", "prohibit");
- [IPv6AcceptRA] RouteDenyList och RouteAllowList för listor över tillÄtna och blockerade ruttannonser;
- [DHCPv6] UseAddres för att ignorera den tilldelade DHCP-adressen;
- [DHCPv6PrefixDelegation] ManageTemporaryAddress;
- ActivationPolicy för att definiera policyn för grÀnssnittets aktivitet (alltid hÄlla i UP- eller DOWN-lÀge eller tillÄta anvÀndaren att Àndra tillstÄnd med kommandot 'ip link set dev').
- systemd.netdev-filerna har lagts till alternativ [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps och [MACVLAN] BroadcastMulticastQueueLength för att konfigurera VLAN-paketbehandling.
- Monteringen av katalogen /dev/ har avbrutits i noexec-lÀge, eftersom det orsakar konflikt vid anvÀndning av exekverbara flaggor med filer i /dev/sgx. För att ÄterstÀlla det gamla beteendet kan instÀllningen NoExecPaths=/dev anvÀndas.
- à tkomstrÀttigheterna till filen /dev/vsock har Àndrats till 0o666, och filerna /dev/vhost-vsock och /dev/vhost-net har flyttats till gruppen kvm.
- Identifieringsbasen för utrustning har utvidgats med USB-enheter för att lÀsa fingeravtryck som korrekt stöder övergÄng till vilolÀge.
- systemd-resolved har lagt till stöd för att ge svar pÄ DNSSEC-förfrÄgningar via stub-resolver. Lokala klienter kan sjÀlva utföra DNSSEC-verifiering, medan externa förfrÄgningar proxyas oförÀndrat till moder-DNS-servern.
- I resolved.conf har alternativet CacheFromLocalhost lagts till, vilket gör att systemd-resolved kommer att anvÀnda caching Àven för förfrÄgningar till DNS-servern pÄ adressen 127.0.0.1 (som standard Àr caching av sÄdana förfrÄgningar avstÀngd för att undvika dubbelcaching).
- I systemd-resolved har stöd för RFC-5001 NSID lagts till i den lokala DNS-resolvern, vilket möjliggör för klienter att sÀrskilja interaktionen med den lokala resolvern och andra. servern DNS.
- I verktyget resolvectl har möjligheten att visa information om datakĂ€llan (lokal cache, nĂ€tverksförfrĂ„gan, svar frĂ„n lokal hanterare) och applicera kryptering under datatransmission implementerats. För att hantera namnupplösningsprocessen erbjuds alternativ âcache, âsynthesize, ânetwork, âzone, âtrust-anchor och âvalidate.
- systemd-nspawn har lagt till stöd för konfiguration av brandvÀggar med nftables utöver det befintliga stödet för iptables. I instÀllningen IPMasquerade i systemd-networkd har möjligheten att anvÀnda en nftables-baserad backend lagts till.
- I systemd-localed har stöd för att anropa locale-gen för att generera saknade lokaler lagts till.
- I olika verktyg har alternativet âpager/âno-pager/âjson= lagts till för att aktivera/deaktivera sidvisningslĂ€ge och utdata i JSON-format. Möjlighet att stĂ€lla in antal fĂ€rger som anvĂ€nds i terminalen genom miljövariabeln SYSTEMD_COLORS ("16" eller "256").
- Byggnader med separata kataloghierarkier (uppdelning av / och /usr) och stöd för cgroup v1 har deklarerats som förÄldrade.
- Huvudgrenen i Git har bytt namn frÄn 'master' till 'main'.
KĂ€lla: opennet.ru
