systemd system manager version 249

Efter tre månaders utveckling presenteras releasen av systemhanteraren systemd 249. Den nya versionen ger möjlighet att definiera användare/grupper i JSON-format, stabiliserar Journal-protokollet, förenklar organisationen av att ladda successiva diskpartitioner, lägger till möjligheten att länkar BPF-program till tjänster, och implementerar identifierare kartläggning användare i monterade partitioner, en stor del av nya nätverksinställningar och möjligheter för att lansera containrar erbjuds.

Huvudändringar:

  • Journalprotokollet är dokumenterat och kan användas i klienter istället för syslog-protokollet för lokal leverans av loggposter. Journal-protokollet har implementerats under en lång tid och används redan i vissa klientbibliotek, men dess officiella stöd har precis meddelats.
  • Userdb och nss-systemd ger stöd för att läsa ytterligare användardefinitioner som finns i katalogerna /etc/userdb/, /run/userdb/, /run/host/userdb/ och /usr/lib/userdb/, specificerade i JSON-format. Det noteras att den här funktionen kommer att tillhandahålla en ytterligare mekanism för att skapa användare i systemet, vilket ger det full integration med NSS och /etc/shadow. JSON-stöd för användar-/gruppposter kommer också att tillåta olika resurshantering och andra inställningar att kopplas till användare som pam_systemd och systemd-login känner igen.
  • nss-systemd tillhandahåller syntes av användar-/gruppposter i /etc/shadow med hashade lösenord från systemd-homed.
  • En mekanism har implementerats som förenklar organisationen av uppdateringar med hjälp av diskpartitioner som ersätter varandra (en partition är aktiv och den andra är reserv - uppdateringen kopieras till reservpartitionen, varefter den blir aktiv). Om det finns två root- eller /usr-partitioner i diskavbildningen och udev inte har upptäckt närvaron av parametern 'root=', eller bearbetar diskavbildningar som anges via alternativet "--image" i systemd-nspawn och systemd -dissect-verktyg, kan startpartitionen beräknas genom att jämföra GPT-etiketter (förutsatt att GPT-etiketten nämner versionsnumret för partitionens innehåll och systemd kommer att välja partitionen med de senaste ändringarna).
  • En BPFProgram-inställning har lagts till i tjänstefilerna, med vilken du kan organisera inläsningen av BPF-program i kärnan och hantera dem med bindning till specifika systemtjänster.
  • Systemd-fstab-generator och systemd-repart lägger till möjligheten att starta från diskar som bara har en /usr-partition och ingen rotpartition (rotpartitionen kommer att genereras av systemd-repart under den första uppstarten).
  • I systemd-nspawn har alternativet "--private-user-chown" ersatts av det mer generiska alternativet "--private-user-ownership", som kan acceptera "chown"-värden som motsvarighet till "-- private-user-chown", "off" för att inaktivera gamla inställningar, "map" för att mappa användar-ID:n på monterade filsystem och "auto" för att välja "map" om den nödvändiga funktionaliteten finns i kärnan (5.12+) eller faller tillbaka till en rekursiv uppmaning att "chown" annars. Med hjälp av mappning kan du mappa en användares filer på en monterad främmande partition till en annan användare på det aktuella systemet, vilket gör det lättare att dela filer mellan olika användare. I den systemd-homed bärbara hemkatalogmekanismen kommer mappning att tillåta användare att flytta sina hemkataloger till externa media och använda dem på olika datorer som inte har samma användar-ID-layout.
  • I systemd-nspawn kan alternativet "--private-user" nu använda värdet "identity" för att direkt reflektera användar-ID:n när man ställer in ett användarnamnområde, d.v.s. UID 0 och UID 1 i behållaren kommer att återspeglas i UID 0 och UID 1 på värdsidan, för att reducera attackvektorer (behållaren kommer bara att ta emot processkapacitet i sitt namnområde).
  • Alternativet "--bind-user" har lagts till i systemd-nspawn för att vidarebefordra ett användarkonto som finns i värdmiljön till behållaren (hemkatalogen är monterad i behållaren, en användare/grupppost läggs till och UID-mappning utförs mellan behållaren och värdmiljön).
  • Lade till stöd för att begära inställda lösenord till systemd-ask-password och systemd-sysusers (passwd.hashed-password. och passwd.plaintext-password. ) med hjälp av mekanismen introducerad i systemd 247 för att säkert överföra känsliga data med hjälp av mellanliggande filer i en separat katalog. Som standard accepteras autentiseringsuppgifter från processen med PID1, som tar emot dem, till exempel från containerhanteringshanteraren, som låter dig konfigurera användarlösenordet vid första uppstart.
  • systemd-firstboot lägger till stöd för att använda mekanismen för säker överföring av känsliga data för att fråga olika systemparametrar, som kan användas för att initiera systeminställningar vid första uppstart av en containeravbildning som inte har de nödvändiga inställningarna i katalogen /etc.
  • PID 1-processen säkerställer att både enhetens namn och beskrivning visas under uppstart. Du kan ändra utdata via parametern "StatusUnitFormat=combined" i system.conf eller kärnans kommandoradsalternativ "systemd.status-unit-format=combined"
  • Alternativet "--image" har lagts till i systemd-machine-id-setup och systemd-repart-verktygen för att överföra en fil med ett maskin-id till en diskavbildning eller för att öka storleken på en diskavbildning.
  • En MakeDirectories-parameter har lagts till i partitionskonfigurationsfilen som används av systemd-repart-verktyget, som kan användas för att skapa godtyckliga kataloger i det skapade filsystemet innan det återspeglas i partitionstabellen (till exempel för att skapa kataloger för monteringspunkter i rotpartitionen så att du omedelbart kan montera partitionen i skrivskyddat läge). För att styra GPT-flaggor i skapade sektioner har motsvarande parametrar Flaggor, ReadOnly och NoAuto lagts till. Parametern CopyBlocks har värdet "auto" för att automatiskt välja den aktuella startpartitionen som källa när du kopierar block (till exempel när du behöver överföra din egen rotpartition till nya media).
  • GPT implementerar flaggan "grow-file-system", som liknar monteringsalternativet x-systemd.growfs och ger automatisk expansion av FS-storleken till gränserna för blockenheten om FS-storleken är mindre än partitionen. Flaggan är tillämplig på filsystem Ext3, XFS och Btrfs och kan appliceras på automatiskt upptäckta partitioner. Flaggan är aktiverad som standard för skrivbara partitioner som skapas automatiskt via systemd-repart. Alternativet GrowFileSystem har lagts till för att konfigurera flaggan i systemd-repart.
  • /etc/os-release-filen ger stöd för nya IMAGE_VERSION- och IMAGE_ID-variabler för att bestämma version och ID för atomiskt uppdaterade bilder. %M- och %A-specifikationerna föreslås för att ersätta specificerade värden med olika kommandon.
  • Parametern "--extension" har lagts till i portablelectl-verktyget för att aktivera portabla systemtilläggsbilder (till exempel genom dem kan du distribuera bilder med ytterligare tjänster integrerade i rotpartitionen).
  • Verktyget systemd-coredump tillhandahåller extrahering av ELF build-id-information när en kärndump av en process genereras, vilket kan vara användbart för att avgöra vilket paket en misslyckad process tillhör om information om namnet och versionen av deb- eller rpm-paket byggdes i ELF-filerna.
  • En ny hårdvarubas för FireWire (IEEE 1394)-enheter har lagts till i udev.
  • I udev har tre ändringar lagts till i "net_id" nätverksgränssnittsnamnvalsschemat som bryter mot bakåtkompatibilitet: felaktiga tecken i gränssnittsnamn ersätts nu med "_"; PCI hotplug-kortplatsnamn för s390-system behandlas i hexadecimal form; Användning av upp till 65535 inbyggda PCI-enheter är tillåten (tidigare blockerades nummer över 16383).
  • systemd-resolved lägger till domänen "home.arpa" till NTA-listan (Negative Trust Anchors), som rekommenderas för lokala hemnätverk, men som inte används i DNSSEC.
  • CPUAffinity-parametern tillhandahåller analys av "%"-specifikationerna.
  • En ManageForeignRoutingPolicyRules-parameter har lagts till i .network-filer, som kan användas för att utesluta systemd-networkd från bearbetning av tredjeparts routingpolicyer.
  • Parametern RequiredFamilyForOnline har lagts till i ".network"-filerna för att fastställa förekomsten av en IPv4- eller IPv6-adress som ett tecken på att nätverksgränssnittet är i "online"-tillstånd. Networkctl ger en visning av "online"-status för varje länk.
  • Lade till OutgoingInterface-parametern till .network-filer för att definiera utgående gränssnitt vid konfigurering av nätverksbryggor.
  • En gruppparameter har lagts till i ".network"-filer, vilket gör att du kan konfigurera en flervägsgrupp för poster i avsnittet "[NextHop]".
  • Alternativen "-4" och "-6" har lagts till i systemd-network-wait-online för att begränsa anslutningsväntningar till endast IPv4 eller IPv6.
  • En RelayTarget-parameter har lagts till i DHCP-serverinställningarna, som växlar servern till DHCP Ralay-läge. För ytterligare konfiguration av DHCP-reläet erbjuds alternativen RelayAgentCircuitId och RelayAgentRemoteId.
  • Parametern ServerAddress har lagts till DHCP-servern, vilket gör att du kan ställa in serverns IP-adress (annars väljs adressen automatiskt).
  • DHCP-servern implementerar avsnittet [DHCPServerStaticLease], som låter dig konfigurera statiska adressbindningar (DHCP-leasingavtal), specificera fasta IP-bindningar till MAC-adresser och vice versa.
  • Inställningen RestrictAddressFamilies stöder värdet "ingen", vilket innebär att tjänsten inte kommer att ha tillgång till uttag för någon adressfamilj.
  • I ".network"-filerna i sektionerna [Address], [DHCPv6PrefixDelegation] och [IPv6Prefix] implementeras stöd för RouteMetric-inställningen, vilket gör att du kan ange måtten för ruttprefixet som skapats för den angivna adressen.
  • nss-myhostname och systemd-resolved tillhandahåller syntes av DNS-poster med adresser för värdar med ett speciellt namn "_outbound", för vilket en lokal IP alltid utfärdas, vald i enlighet med standardvägarna som används för utgående anslutningar.
  • I .nätverksfiler, i avsnittet "[DHCPv4]", har en standardinställning för aktiv RoutesToNTP lagts till, vilket kräver att en separat rutt läggs till genom det aktuella nätverksgränssnittet för att komma åt NTP-serveradressen som erhålls för detta gränssnitt med DHCP (liknande DNS) , låter inställningen dig garantera att trafik till NTP-servern dirigeras via gränssnittet genom vilket denna adress togs emot).
  • Lade till inställningar för SocketBindAllow och SocketBindDeny för att styra åtkomst till sockets bundna till den aktuella tjänsten.
  • För enhetsfiler har en villkorlig inställning som kallas ConditionFirmware implementerats, som gör att du kan skapa kontroller som utvärderar firmware-funktioner, såsom arbete på UEFI- och device.tree-system, samt kontrollera kompatibilitet med vissa device-tree-funktioner.
  • Implementerade alternativet ConditionOSRelease för att kontrollera fält i filen /etc/os-release. När villkor för kontroll av fältvärden definieras är operatorerna "=", "!=", "<", "<=", ">=", ">" acceptabla.
  • I hostnamectl-verktyget frigörs kommandon som "get-xyz" och "set-xyz" från prefixen "get" och "set", till exempel istället för "hostnamectl get-hostname" och "hostnamectl "set-hostname" du kan använda kommandot "hostnamectl hostname" ", tilldelningen av ett värde i vilket bestäms genom att ange ett ytterligare argument ("hostnamectl hostname value"). Stöd för äldre kommandon har behållits för att säkerställa kompatibilitet.
  • Verktyget systemd-detect-virt och ConditionVirtualization-inställningen säkerställer korrekt identifiering av Amazon EC2-miljöer.
  • LogLevelMax-inställningen i enhetsfiler gäller nu inte bara för loggmeddelanden som genereras av tjänsten, utan även för PID 1-processmeddelanden som nämner tjänsten.
  • Tillhandahöll möjligheten att inkludera SBAT-data (UEFI Secure Boot Advanced Targeting) i systemd-boot EFI PE-filer.
  • /etc/crypttab implementerar nya alternativ "huvudlöst" och "lösenord-eko" - den första låter dig hoppa över alla operationer som är associerade med att interaktivt begära lösenord och PIN-koder från användaren, och den andra låter dig konfigurera metoden för att visa lösenordsinmatning (visa ingenting, visa tecken för tecken och visa asterisker). Alternativet "--echo" har lagts till systemd-ask-lösenord för liknande ändamål.
  • systemd-cryptenroll, systemd-cryptsetup och systemd-homed har utökat stöd för att låsa upp krypterade LUKS2-partitioner med FIDO2-tokens. Lade till nya alternativ "--fido2-med-användarnärvaro", "--fido2-med-användar-verifiering" och "-fido2-med-klient-pin" för att kontrollera användarens fysiska närvaroverifiering, verifiering och behovet av att gå in en PIN-kod.
  • Lade till "--user", "--system", "--merge" och "--file" alternativ till systemd-journal-gatewayd, liknande alternativen journalctl.
  • Förutom direkta beroenden mellan enheter som specificeras genom parametrarna OnFailure och Slice, har stöd för implicita inversa beroenden OnFailureOf och SliceOf lagts till, vilket kan vara användbart till exempel för att bestämma alla enheter som ingår i slice.
  • Lade till nya typer av beroenden mellan enheter: OnSuccess och OnSuccessOf (motsatsen till OnFailure, kallad vid framgångsrikt slutförande); PropagatesStopTo och StopPropagatedFrom (låter dig sprida en enhets stopphändelse till en annan enhet); Upholds och UpheldBy (alternativ till Restart).
  • Verktyget systemd-ask-password har nu ett "--emoji"-alternativ för att styra utseendet på hänglåssymbolen (🔐) i lösenordsinmatningsraden.
  • Lade till dokumentation om systemd källträdstruktur.
  • För enheter har en MemoryAvailable-egenskap lagts till, som visar hur mycket minne enheten har kvar innan den når gränsen som satts genom parametrarna MemoryMax, MemoryHigh eller MemoryAvailable.

Källa: opennet.ru

Lägg en kommentar