systemd system manager version 250

Efter fem månaders utveckling presenterades releasen av systemhanteraren systemd 250. Den nya versionen introducerade möjligheten att lagra referenser i krypterad form, implementerade verifiering av automatiskt upptäckta GPT-partitioner med hjälp av en digital signatur, förbättrad information om orsakerna till förseningar när starttjänster och tillagda alternativ för att begränsa tjänsteåtkomst till vissa filsystem och nätverksgränssnitt, stöd för partitionsintegritetsövervakning med dm-integrity-modulen tillhandahålls och stöd för sd-boot auto-update läggs till.

Huvudändringar:

  • Tillagt stöd för krypterade och autentiserade referenser, vilket kan vara användbart för att säkert lagra känsligt material som SSL-nycklar och åtkomstlösenord. Dekryptering av referenser utförs endast när det är nödvändigt och i samband med den lokala installationen eller utrustningen. Data krypteras automatiskt med symmetriska krypteringsalgoritmer, vars nyckel kan finnas i filsystemet, i TPM2-chippet eller med hjälp av ett kombinationsschema. När tjänsten startar dekrypteras inloggningsuppgifterna automatiskt och blir tillgängliga för tjänsten i dess normala form. För att arbeta med krypterade autentiseringsuppgifter har verktyget 'systemd-creds' lagts till, och inställningarna LoadCredentialEncrypted och SetCredentialEncrypted har föreslagits för tjänster.
  • sd-stub, den körbara EFI-filen som tillåter EFI-firmware att ladda Linux-kärnan, stöder nu uppstart av kärnan med EFI-protokollet LINUX_EFI_INITRD_MEDIA_GUID. Till sd-stub läggs också möjligheten att paketera referenser och sysext-filer till ett cpio-arkiv och överföra detta arkiv till kärnan tillsammans med initrd (ytterligare filer placeras i /.extra/-katalogen). Denna funktion låter dig använda en verifierbar oföränderlig initrd-miljö, kompletterad med sysexts och krypterad autentiseringsdata.
  • Specifikationen för upptäckbara partitioner har utökats avsevärt och tillhandahåller verktyg för att identifiera, montera och aktivera systempartitioner med hjälp av GPT (GUID Partition Tables). Jämfört med tidigare utgåvor stöder specifikationen nu rotpartitionen och /usr-partitionen för de flesta arkitekturer, inklusive plattformar som inte använder UEFI.

    Discoverable Partitions lägger också till stöd för partitioner vars integritet verifieras av dm-verity-modulen med hjälp av PKCS#7 digitala signaturer, vilket gör det lättare att skapa helt autentiserade diskavbildningar. Verifieringsstöd är integrerat i olika verktyg som manipulerar diskavbildningar, inklusive systemd-nspawn, systemd-sysext, systemd-dissect, RootImage-tjänster, systemd-tmp-filer och systemd-sysusers.

  • För enheter som tar lång tid att starta eller stoppa är det, förutom att visa en animerad förloppsindikator, möjligt att visa statusinformation som gör att du kan förstå exakt vad som händer med tjänsten för tillfället och vilken tjänst systemhanteraren är väntar just nu på att bli klar.
  • Lade till parametern DefaultOOMScoreAdjust till /etc/systemd/system.conf och /etc/systemd/user.conf, vilket låter dig justera OOM-killer-tröskeln för lågt minne, tillämpligt på processer som systemd startar för systemet och användarna. Som standard är vikten av systemtjänster högre än för användartjänster, d.v.s. När det inte finns tillräckligt med minne är sannolikheten för uppsägning av användartjänster högre än för systemtjänster.
  • Lade till inställningen RestrictFileSystems, som låter dig begränsa tjänsters åtkomst till vissa typer av filsystem. För att se de tillgängliga filsystemstyperna kan du använda kommandot "systemd-analyze filesystems". I analogi med detta har alternativet RestrictNetworkInterfaces implementerats, vilket gör att du kan begränsa åtkomsten till vissa nätverksgränssnitt. Implementeringen är baserad på BPF LSM-modulen, som begränsar åtkomsten av en grupp processer till kärnobjekt.
  • Lade till en ny /etc/integritytab-konfigurationsfil och systemd-integritysetup-verktyg som konfigurerar dm-integrity-modulen för att kontrollera dataintegritet på sektornivå, till exempel för att garantera oföränderligheten av krypterad data (Authenticated Encryption, säkerställer att ett datablock har inte ändrats i rondell). Formatet på filen /etc/integritytab liknar filerna /etc/crypttab och /etc/veritytab, förutom att dm-integrity används istället för dm-crypt och dm-verity.
  • En ny enhetsfil systemd-boot-update.service har lagts till, när den är aktiverad och sd-boot bootloader är installerad kommer systemd automatiskt att uppdatera versionen av sd-boot bootloader och hålla starthanterarens kod alltid uppdaterad. Själva sd-boot är nu byggt som standard med stöd för SBAT-mekanismen (UEFI Secure Boot Advanced Targeting), som löser problem med återkallande av certifikat för UEFI Secure Boot. Dessutom ger sd-boot möjligheten att analysera Microsoft Windows startinställningar för att korrekt generera namnen på startpartitionerna med Windows och visa Windows-versionen.

    sd-boot ger också möjligheten att definiera ett färgschema vid byggtid. Under uppstartsprocessen lades till stöd för att ändra skärmupplösningen genom att trycka på "r"-tangenten. Lade till snabbtangent "f" för att gå till konfigurationsgränssnittet för den fasta programvaran. Lade till ett läge för att automatiskt starta systemet som motsvarar menyalternativet som valdes under den senaste uppstarten. Lade till möjligheten att automatiskt ladda EFI-drivrutiner som finns i katalogen /EFI/systemd/drivers/ i avsnittet ESP (EFI System Partition).

  • En ny enhetsfil factory-reset.target ingår, som bearbetas i systemd-login på liknande sätt som operationerna omstart, avstängning, avstängning och viloläge, och används för att skapa hanterare för att utföra en fabriksåterställning.
  • Den systemd-lösta processen skapar nu en extra lyssningssocket vid 127.0.0.54 utöver 127.0.0.53. Förfrågningar som kommer till 127.0.0.54 omdirigeras alltid till en uppströms DNS-server och behandlas inte lokalt.
  • Tillhandahöll möjligheten att bygga systemd-importd och systemd-resolved med OpenSSL-biblioteket istället för libgcrypt.
  • Lade till initialt stöd för LoongArch-arkitekturen som används i Loongson-processorer.
  • systemd-gpt-auto-generator ger möjligheten att automatiskt konfigurera systemdefinierade växlingspartitioner krypterade av LUKS2-undersystemet.
  • GPT-bildanalyskoden som används i systemd-nspawn, systemd-dissect och liknande verktyg implementerar möjligheten att avkoda bilder för andra arkitekturer, vilket gör att systemd-nspawn kan användas för att köra bilder på emulatorer av andra arkitekturer.
  • Vid inspektion av diskavbildningar visar systemd-dissect nu information om syftet med partitionen, såsom lämplighet för uppstart via UEFI eller körning i en container.
  • Fältet "SYSEXT_SCOPE" har lagts till i system-extension.d/-filerna, vilket gör att du kan ange omfattningen av systembilden - "initrd", "system" eller "portable".
  • Ett "PORTABLE_PREFIXES"-fält har lagts till i OS-release-filen, som kan användas i bärbara bilder för att fastställa vilka enhetsfilprefix som stöds.
  • systemd-logind introducerar nya inställningar HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress och HandleHibernateKeyLongPress, som kan användas för att avgöra vad som händer när vissa tangenter hålls nere i mer än 5 sekunder (t.ex. att trycka på Suspend-tangenten för att snabbt gå in i standbyläge kan konfigureras , och när den hålls intryckt går den i vila).
  • För enheter implementeras inställningarna StartupAllowedCPUs och StartupAllowedMemoryNodes, som skiljer sig från liknande inställningar utan Startup-prefixet genom att de endast tillämpas vid start- och avstängningsskedet, vilket gör att du kan ställa in andra resursbegränsningar under uppstart.
  • Lade till [Kondition|Bekräfta][Minne|CPU|IO]Tryckskontroller som tillåter att enhetsaktivering hoppas över eller misslyckas om PSI-mekanismen upptäcker en stor belastning på minne, CPU och I/O i systemet.
  • Standardinställningen för maximal inod har höjts för /dev-partitionen från 64k till 1M och för /tmp-partitionen från 400k till 1M.
  • En ExecSearchPath-inställning har föreslagits för tjänster, som gör det möjligt att ändra sökvägen för att söka efter körbara filer som startas genom inställningar som ExecStart.
  • Lade till inställningen RuntimeRandomizedExtraSec, som låter dig introducera slumpmässiga avvikelser i RuntimeMaxSec-timeouten, vilket begränsar exekveringstiden för en enhet.
  • Syntaxen för inställningarna RuntimeDirectory, StateDirectory, CacheDirectory och LogsDirectory har utökats, där du genom att ange ett extra värde separerat med ett kolon nu kan organisera skapandet av en symbolisk länk till en given katalog för att organisera åtkomst längs flera vägar.
  • För tjänster erbjuds TTYRows och TTYColumns-inställningar för att ställa in antalet rader och kolumner i TTY-enheten.
  • Lade till inställningen ExitType, som låter dig ändra logiken för att bestämma slutet på en tjänst. Som standard övervakar systemd endast huvudprocessens död, men om ExitType=cgroup är inställd kommer systemhanteraren att vänta på att den sista processen i cgroup ska slutföras.
  • systemd-cryptsetups implementering av TPM2/FIDO2/PKCS11-stöd är nu också byggt som ett cryptsetup-plugin, vilket gör att det vanliga cryptsetup-kommandot kan användas för att låsa upp en krypterad partition.
  • TPM2-hanteraren i systemd-cryptsetup/systemd-cryptsetup lägger till stöd för primära RSA-nycklar utöver ECC-nycklar för att förbättra kompatibiliteten med icke-ECC-chips.
  • Alternativet för token-timeout har lagts till i /etc/crypttab, vilket låter dig definiera den maximala tiden för att vänta på en PKCS#11/FIDO2-tokenanslutning, varefter du kommer att bli ombedd att ange ett lösenord eller återställningsnyckel.
  • systemd-timesyncd implementerar SaveIntervalSec-inställningen, som låter dig periodiskt spara den aktuella systemtiden till disk, till exempel för att implementera en monoton klocka på system utan RTC.
  • Alternativ har lagts till i systemd-analyze-verktyget: "--image" och "--root" för att kontrollera enhetsfiler i en given bild eller rotkatalog, "--rekursiva-fel" för att ta hänsyn till beroende enheter vid ett fel detekteras, "--offline" för separat kontroll av enhetsfiler sparade på disk, "—json" för utdata i JSON-format, "—quiet" för att inaktivera oviktiga meddelanden, "—profile" för att binda till en bärbar profil. Dessutom läggs till kommandot inspect-elf för att analysera kärnfiler i ELF-format och möjligheten att kontrollera enhetsfiler med ett givet enhetsnamn, oavsett om detta namn matchar filnamnet.
  • systemd-networkd har utökat stöd för Controller Area Network (CAN)-bussen. Lade till inställningar för att styra CAN-lägen: Loopback, OneShot, PresumeAck och ClassicDataLengthCode. Lade till TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 och DataSyncJumpWidth till alternativen för [CAN]-gränssnittet för [CAN]-gränssnittet i CAN-sektionen.
  • Systemd-networkd har lagt till ett Label-alternativ för DHCPv4-klienten, som låter dig konfigurera adressetiketten som används när du konfigurerar IPv4-adresser.
  • systemd-udevd för "ethtool" implementerar stöd för speciella "max"-värden som ställer in buffertstorleken till det maximala värdet som stöds av hårdvaran.
  • I .link-filer för systemd-udevd kan du nu konfigurera olika parametrar för att kombinera nätverksadaptrar och ansluta hårdvaruhanterare (offload).
  • systemd-networkd erbjuder nya .network-filer som standard: 80-container-vb.network för att definiera nätverksbryggor som skapas när systemd-nspawn körs med alternativen "--network-bridge" eller "--network-zone"; 80-6rd-tunnel.network för att definiera tunnlar som skapas automatiskt när man tar emot ett DHCP-svar med 6RD-alternativet.
  • Systemd-networkd och systemd-udevd har lagt till stöd för IP-vidarebefordran över InfiniBand-gränssnitt, för vilka avsnittet "[IPoIB]" har lagts till i systemd.netdev-filerna, och bearbetning av "ipoib"-värdet har implementerats i Typen miljö.
  • systemd-networkd tillhandahåller automatisk ruttkonfiguration för adresser som anges i parametern AllowedIPs, som kan konfigureras genom parametrarna RouteTable och RouteMetric i sektionerna [WireGuard] och [WireGuardPeer].
  • systemd-networkd tillhandahåller automatisk generering av oföränderliga MAC-adresser för batadv- och brygggränssnitten. För att inaktivera detta beteende kan du ange MACAddress=none i .netdev-filer.
  • En WakeOnLanPassword-inställning har lagts till i .link-filer i avsnittet "[Link]" för att fastställa lösenordet när WoL körs i "SecureOn"-läge.
  • Lade till inställningarna AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO och UseRawPacketSize i avsnittet "[CAKE]" i .network-filer för att definiera parametrarna för CAKE (Common Applications Kept Enhanced) .
  • Lade till en IgnoreCarrierLoss-inställning i avsnittet "[Network]" i .network-filer, så att du kan bestämma hur länge du ska vänta innan du reagerar på en förlust av operatörssignal.
  • Systemd-nspawn, homectl, machinectl och systemd-run har utökat syntaxen för parametern "--setenv" - om bara variabelnamnet anges (utan "="), kommer värdet att tas från motsvarande miljövariabel (för till exempel, när du anger "--setenv=FOO" kommer värdet att tas från miljövariabeln $FOO och användas i miljövariabeln med samma namn som anges i behållaren).
  • systemd-nspawn har lagt till ett "--suppress-sync"-alternativ för att inaktivera sync()/fsync()/fdatasync() systemanrop när man skapar en container (användbart när hastighet är en prioritet och bevarande av byggartefakter i händelse av fel inte är viktiga, eftersom de kan återskapas när som helst).
  • En ny hwdb-databas har tillkommit, som innehåller olika typer av signalanalysatorer (multimetrar, protokollanalysatorer, oscilloskop, etc.). Information om kameror i hwdb har utökats med ett fält med information om typ av kamera (vanlig eller infraröd) och linsplacering (fram eller bak).
  • Aktiverad generering av oföränderliga nätverksgränssnittsnamn för nätfrontenheter som används i Xen.
  • Analysen av kärnfiler av systemd-coredump-verktyget baserat på libdw/libelf-biblioteken utförs nu i en separat process, isolerad i en sandlådemiljö.
  • systemd-importd har lagt till stöd för miljövariablerna $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, med vilka du kan inaktivera genereringen av Btrfs-underpartitioner, samt konfigurera kvoter och disksynkronisering.
  • I systemd-journald, på filsystem som stöder kopiera-på-skriv-läge, är COW-läget återaktiverat för arkiverade journaler, vilket gör att de kan komprimeras med Btrfs.
  • systemd-journald implementerar deduplicering av identiska fält i ett enda meddelande, vilket utförs i skedet innan meddelandet placeras i journalen.
  • Lade till alternativet "--show" för att stänga av kommandot för att visa schemalagd avstängning.

Källa: opennet.ru

Lägg en kommentar