systemd system manager version 248

Efter fyra månaders utveckling presenteras releasen av systemhanteraren systemd 248. Den nya versionen ger stöd för bilder för att expandera systemkataloger, konfigurationsfilen /etc/veritytab, verktyget systemd-cryptenroll, upplåsning av LUKS2 med TPM2-chips och FIDO2 tokens, körande enheter i ett isolerat IPC-identifieringsutrymme, BATMAN-protokoll för mesh-nätverk, nftables backend för systemd-nspawn. Systemd-oomd har stabiliserats.

Huvudändringar:

  • Konceptet med systemtilläggsavbildningar har implementerats, som kan användas för att utöka hierarkin för katalogerna /usr/ och /opt/ och lägga till ytterligare filer vid körning, även om de angivna katalogerna är monterade skrivskyddade. När en systemtilläggsavbildning är monterad överlagras dess innehåll på /usr/- och /opt/-hierarkin med OverlayFS.

    Ett nytt verktyg, systemd-sysext, har föreslagits för att ansluta, koppla bort, visa och uppdatera bilder av systemtillägg. För att automatiskt ansluta redan installerade bilder under uppstart har tjänsten systemd-sysext.service lagts till. Lade till parametern "SYSEXT_LEVEL=" till OS-release-filen för att fastställa nivån på systemtillägg som stöds.

  • För enheter har ExtensionImages-inställningen implementerats, som kan användas för att länka systemtilläggsbilder till FS-namnrymdshierarkin för enskilda isolerade tjänster.
  • Lade till /etc/veritytab-konfigurationsfil för att konfigurera dataverifiering på blocknivå med dm-verity-modulen. Filformatet liknar /etc/crypttab - "sektionsnamn device_for_data device_for_hashes check_hash_root options." Lade till systemd.verity.root_options kernel kommandoradsalternativ för att konfigurera dm-verity beteende för rotenheten.
  • systemd-cryptsetup lägger till möjligheten att extrahera PKCS#11-token-URI och krypterad nyckel från LUKS2-metadatahuvudet i JSON-format, vilket gör att information om att öppna en krypterad enhet kan integreras i själva enheten utan att involvera externa filer.
  • systemd-cryptsetup ger stöd för att låsa upp LUKS2-krypterade partitioner med hjälp av TPM2-chips och FIDO2-tokens, förutom tidigare stödda PKCS#11-tokens. Laddar libfido2 görs via dlopen(), d.v.s. tillgänglighet kontrolleras i farten, snarare än som ett fast anslutet beroende.
  • Nya alternativ "no-write-workqueue" och "no-read-workqueue" har lagts till i /etc/crypttab för systemd-cryptsetup för att möjliggöra synkron behandling av I/O associerad med kryptering och dekryptering.
  • Verktyget systemd-repart har lagt till möjligheten att aktivera krypterade partitioner med TPM2-chips, till exempel för att skapa en krypterad /var-partition vid första uppstart.
  • Verktyget systemd-cryptenroll har lagts till för att binda TPM2-, FIDO2- och PKCS#11-tokens till LUKS-partitioner, samt för att lossa och visa tokens, binda reservnycklar och ställa in ett lösenord för åtkomst.
  • Lade till parametern PrivateIPC, som låter dig konfigurera enhetsfilen för att köra processer i ett isolerat IPC-utrymme med sina egna separata identifierare och meddelandekö. För att ansluta en enhet till ett redan skapat IPC-identifierarutrymme, föreslås alternativet IPCNamespacePath.
  • Lade till ExecPaths och NoExecPaths-inställningar för att tillåta noexec-flaggan att tillämpas på specifika delar av filsystemet.
  • systemd-networkd lägger till stöd för BATMAN (Better Approach To Mobile Adhoc Networking) mesh-protokoll, vilket möjliggör skapandet av decentraliserade nätverk där varje nod är ansluten via angränsande noder. För konfiguration föreslås avsnittet [BatmanAdvanced] i .netdev, BatmanAdvanced-parametern i .network-filer och en ny enhetstyp "batadv".
  • Implementeringen av den tidiga svarsmekanismen för lågt minne i systemd-oomd-systemet har stabiliserats. Lade till alternativet DefaultMemoryPressureDurationSec för att konfigurera väntetiden för att en resurs ska släppas innan den påverkar en enhet. Systemd-oomd använder kärndelsystemet PSI (Pressure Stall Information) och låter dig upptäcka uppkomsten av förseningar på grund av brist på resurser och selektivt avsluta resurskrävande processer i ett skede när systemet ännu inte är i ett kritiskt tillstånd och inte börja intensivt trimma cachen och flytta data till swap-partitionen.
  • Lade till kärnans kommandoradsparameter "root=tmpfs", som låter dig montera rotpartitionen i tillfällig lagring i RAM med Tmpfs.
  • Parametern /etc/crypttab som anger nyckelfilen kan nu peka på sockettyperna AF_UNIX och SOCK_STREAM. I det här fallet måste nyckeln ges vid anslutning till uttaget, vilket till exempel kan användas för att skapa tjänster som dynamiskt utfärdar nycklar.
  • Reservvärdnamnet för användning av systemhanteraren och systemd-hostnamed kan nu ställas in på två sätt: genom parametern DEFAULT_HOSTNAME i os-release och genom miljövariabeln $SYSTEMD_DEFAULT_HOSTNAME. systemd-hostnamed hanterar också "localhost" i värdnamnet och lägger till möjligheten att exportera värdnamnet samt egenskaperna "HardwareVendor" och "HardwareModel" via DBus.
  • Blocket med exponerade miljövariabler kan nu konfigureras genom det nya ManagerEnvironment-alternativet i system.conf eller user.conf, och inte bara genom kärnans kommandorad och enhetsfilinställningar.
  • Vid kompilering är det möjligt att använda systemanropet fexecve() för att starta processer istället för execve() för att minska fördröjningen mellan att kontrollera säkerhetskontexten och tillämpa den.
  • För enhetsfiler har nya villkorade operationer ConditionSecurity=tpm2 och ConditionCPUFeature lagts till för att kontrollera förekomsten av TPM2-enheter och individuella CPU-funktioner (till exempel kan ConditionCPUFeature=rdrand användas för att kontrollera om processorn stöder RDRAND-operationen).
  • För tillgängliga kärnor har automatisk generering av systemanropstabeller för seccomp-filter implementerats.
  • Lade till möjligheten att ersätta nya bind-mounts i befintliga monteringsnamnrymder för tjänster, utan att starta om tjänsterna. Substitution utförs med kommandona 'systemctl bind ...' och 'systemctl mount-image …'.
  • Lade till stöd för att ange sökvägar i inställningarna StandardOutput och StandardError i formen "truncate: » för rengöring före användning.
  • Lade till möjligheten att upprätta en anslutning till en angiven användares session inom en lokal behållare till sd-bus. Till exempel "systemctl -användare -M lennart@ start quux".
  • Följande parametrar är implementerade i systemd.link-filerna i avsnittet [Länk]:
    • Promiskuöst - låter dig växla enheten till "promiskuöst" läge för att bearbeta alla nätverkspaket, inklusive de som inte är adresserade till det aktuella systemet;
    • TransmitQueues och ReceiveQueues för att ställa in antalet TX- och RX-köer;
    • TransmitQueueLength för att ställa in TX-köstorleken; GenericSegmentOffloadMaxBytes och GenericSegmentOffloadMaxSegment för att ställa in gränser för användningen av GRO-teknik (Generic Receive Offload).
  • Nya inställningar har lagts till i systemd.network-filer:
    • [Nätverk] RouteTable för att välja en routingtabell;
    • [RoutingPolicyRule] Typ för routingtyp ("svart hål, "unreachable", "prohibit");
    • [IPv6AcceptRA] RouteDenyList och RouteAllowList för listor över tillåtna och nekade ruttannonser;
    • [DHCPv6] Använd Adresser för att ignorera adressen som utfärdats av DHCP;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy för att definiera policyn för gränssnittsaktivitet (behåll alltid UP- eller DOWN-tillståndet, eller tillåt användaren att ändra tillstånd med kommandot "ip link set dev").
  • Lade till [VLAN]-protokoll, IngressQOSMaps, EgressQOSMaps och [MACVLAN] BroadcastMulticastQueueLength-alternativ till systemd.netdev-filer för att konfigurera VLAN-pakethantering.
  • Slutade montera /dev/-katalogen i noexec-läge eftersom det orsakar en konflikt vid användning av den körbara flaggan med /dev/sgx-filer. För att återställa det gamla beteendet kan du använda inställningen NoExecPaths=/dev.
  • /dev/vsock-filbehörigheterna har ändrats till 0o666, och /dev/vhost-vsock- och /dev/vhost-net-filerna har flyttats till kvm-gruppen.
  • Hårdvaru-ID-databasen har utökats med USB-fingeravtrycksläsare som korrekt stöder viloläge.
  • systemd-löst tillagt stöd för att utfärda svar på DNSSEC-frågor via en stub-resolver. Lokala klienter kan utföra DNSSEC-validering på sig själva, medan externa klienter proxias oförändrat till den överordnade DNS-servern.
  • Lade till alternativet CacheFromLocalhost till resolved.conf, när det är inställt kommer systemd-resolved att använda cachning även för anrop till DNS-servern på 127.0.0.1 (som standard är cachning av sådana förfrågningar inaktiverat för att undvika dubbel cachning).
  • systemd-resolved lägger till stöd för RFC-5001 NSID i den lokala DNS-resolvern, vilket gör att klienter kan skilja mellan interaktioner med den lokala resolvern och en annan DNS-server.
  • Verktyget resolvectl implementerar möjligheten att visa information om datakällan (lokal cache, nätverksbegäran, lokal processorsvar) och användningen av kryptering vid överföring av data. Alternativen --cache, --synthesize, --nätverk, --zone, --trust-anchor och --validate tillhandahålls för att styra namnbestämningsprocessen.
  • systemd-nspawn lägger till stöd för att konfigurera en brandvägg med nftables utöver det befintliga iptables-stödet. IPMasquerade-installationen i systemd-networkd har lagt till möjligheten att använda en nftables-baserad backend.
  • systemd-lokalt lagt till stöd för att anropa locale-gen för att generera saknade lokaler.
  • Alternativ --pager/-no-pager/-json= har lagts till i olika verktyg för att aktivera/inaktivera personsökningsläge och utdata i JSON-format. Lade till möjligheten att ställa in antalet färger som används i terminalen via miljövariabeln SYSTEMD_COLORS ("16" eller "256").
  • Bygget med separata kataloghierarkier (split / och /usr) och cgroup v1-stöd har fasats ut.
  • Mastergrenen i Git har bytt namn från 'master' till 'main'.

Källa: opennet.ru

Lägg en kommentar