systemd systeembeheerder release 249

Na drie maanden ontwikkeling wordt de release gepresenteerd van de systeembeheerder systemd 249. De nieuwe release biedt de mogelijkheid om gebruikers/groepen in JSON-formaat te definiëren, stabiliseert het Journal-protocol, vereenvoudigt de organisatie van het laden van opeenvolgende schijfpartities, voegt de mogelijkheid toe om Door BPF-programma's aan services te koppelen en identificatie-toewijzing van gebruikers in gekoppelde partities te implementeren, wordt een groot deel van de nieuwe netwerkinstellingen en mogelijkheden voor het starten van containers aangeboden.

Grote veranderingen:

  • Het Journal-protocol is gedocumenteerd en kan in clients worden gebruikt in plaats van het syslog-protocol voor lokale levering van logrecords. Het Journal-protocol is al lange tijd geïmplementeerd en wordt al in sommige clientbibliotheken gebruikt, maar de officiële ondersteuning ervan is nog maar net aangekondigd.
  • Userdb en nss-systemd bieden ondersteuning voor het lezen van aanvullende gebruikersdefinities in de mappen /etc/userdb/, /run/userdb/, /run/host/userdb/ en /usr/lib/userdb/, gespecificeerd in JSON-indeling. Opgemerkt wordt dat deze functie een extra mechanisme zal bieden voor het aanmaken van gebruikers in het systeem, waardoor het volledige integratie krijgt met NSS en /etc/shadow. JSON-ondersteuning voor gebruikers-/groepsinvoer maakt het ook mogelijk om verschillende bronbeheer- en andere instellingen toe te voegen aan gebruikers die pam_systemd en systemd-logind herkennen.
  • nss-systemd biedt een synthese van gebruikers-/groepsgegevens in /etc/shadow met behulp van gehashte wachtwoorden van systemd-homed.
  • Er is een mechanisme geïmplementeerd dat de organisatie van updates vereenvoudigt met behulp van schijfpartities die elkaar vervangen (één partitie is actief en de tweede is reserve - de update wordt naar de reservepartitie gekopieerd, waarna deze actief wordt). Als er twee root- of /usr-partities in de schijfkopie zijn, en udev de aanwezigheid van de parameter 'root=' niet heeft gedetecteerd, of schijfkopieën verwerkt die zijn opgegeven via de optie "--image" in systemd-nspawn en systemd -dissect-hulpprogramma's kan de opstartpartitie worden berekend door GPT-labels te vergelijken (ervan uitgaande dat het GPT-label het versienummer van de inhoud van de partitie vermeldt en systemd de partitie met de meest recente wijzigingen zal selecteren).
  • Er is een BPFProgram-instelling toegevoegd aan de servicebestanden, waarmee u het laden van BPF-programma's in de kernel kunt organiseren en deze kunt beheren door binding aan specifieke systeemservices.
  • Systemd-fstab-generator en systemd-repart voegen de mogelijkheid toe om op te starten vanaf schijven die alleen een /usr-partitie hebben en geen rootpartitie (de rootpartitie wordt gegenereerd door systemd-repart tijdens de eerste keer opstarten).
  • In systemd-nspawn is de optie "--private-user-chown" vervangen door de meer generieke optie "--private-user-ownership", die "chown"-waarden kan accepteren als het equivalent van "-- private-user-chown", "off" om de oude instelling uit te schakelen, "map" om gebruikers-ID's op aangekoppelde bestandssystemen toe te wijzen en "auto" om "map" te selecteren als de vereiste functionaliteit aanwezig is in de kernel (5.12+) of terugvallen tot een recursieve oproep om anders "chown" te noemen. Met mapping kunt u de bestanden van een gebruiker op een aangekoppelde externe partitie toewijzen aan een andere gebruiker op het huidige systeem, waardoor het gemakkelijker wordt om bestanden tussen verschillende gebruikers te delen. In het systemd-homed draagbare homedirectorymechanisme stelt mapping gebruikers in staat hun homedirectory's naar externe media te verplaatsen en deze op verschillende computers te gebruiken die niet dezelfde gebruikers-ID-indeling hebben.
  • In systemd-nspawn kan de optie "--private-user" nu de waarde "identity" gebruiken om gebruikers-ID's direct weer te geven bij het instellen van een gebruikersnaamruimte, d.w.z. UID 0 en UID 1 in de container worden weerspiegeld in UID 0 en UID 1 aan de hostzijde, om aanvalsvectoren te verminderen (de container ontvangt alleen procesmogelijkheden in zijn naamruimte).
  • De optie “--bind-user” is toegevoegd aan systemd-nspawn om een ​​gebruikersaccount dat in de hostomgeving bestaat door te sturen naar de container (de homedirectory is aangekoppeld in de container, er is een gebruikers-/groepsitem toegevoegd en UID-toewijzing wordt uitgevoerd tussen de container en de hostomgeving).
  • Ondersteuning toegevoegd voor het aanvragen van ingestelde wachtwoorden voor systemd-ask-password en systemd-sysusers (passwd.hashed-password. en passwd.plaintext-wachtwoord. ) met behulp van het mechanisme geïntroduceerd in systemd 247 om gevoelige gegevens veilig over te dragen met behulp van tussenbestanden in een aparte map. Standaard worden inloggegevens geaccepteerd van het proces met PID1, dat ze bijvoorbeeld ontvangt van de containerbeheermanager, waarmee u het gebruikerswachtwoord kunt configureren bij de eerste keer opstarten.
  • systemd-firstboot voegt ondersteuning toe voor het gebruik van het mechanisme voor veilige overdracht van gevoelige gegevens om verschillende systeemparameters op te vragen, die kunnen worden gebruikt om systeeminstellingen te initialiseren bij het voor het eerst opstarten van een containerimage die niet over de benodigde instellingen in de map /etc beschikt.
  • Het PID 1-proces zorgt ervoor dat zowel de naam als de beschrijving van het apparaat worden weergegeven tijdens het opstarten. U kunt de uitvoer wijzigen via de parameter “StatusUnitFormat=combined” in system.conf of de kernelopdrachtregeloptie “systemd.status-unit-format=combined”
  • De optie "--image" is toegevoegd aan de hulpprogramma's systemd-machine-id-setup en systemd-repart om een ​​bestand met een machine-ID naar een schijfimage over te brengen of om de grootte van een schijfimage te vergroten.
  • Er is een MakeDirectories-parameter toegevoegd aan het partitieconfiguratiebestand dat wordt gebruikt door het hulpprogramma systemd-repart, die kan worden gebruikt om willekeurige mappen in het gemaakte bestandssysteem te maken voordat deze worden weerspiegeld in de partitietabel (bijvoorbeeld om mappen te maken voor koppelpunten in de rootpartitie, zodat u de partitie onmiddellijk in alleen-lezenmodus kunt koppelen). Om GPT-vlaggen in gemaakte secties te beheren, zijn de bijbehorende parameters Flags, ReadOnly en NoAuto toegevoegd. De parameter CopyBlocks heeft de waarde “auto” om automatisch de huidige opstartpartitie als bron te selecteren bij het kopiëren van blokken (bijvoorbeeld wanneer u uw eigen rootpartitie naar nieuwe media moet overbrengen).
  • GPT implementeert de vlag “grow-file-system”, die vergelijkbaar is met de mountoptie x-systemd.growfs en zorgt voor automatische uitbreiding van de FS-grootte naar de grenzen van het blokapparaat als de FS-grootte kleiner is dan de partitie. De vlag is van toepassing op Ext3-, XFS- en Btrfs-bestandssystemen en kan worden toegepast op automatisch gedetecteerde partities. De vlag is standaard ingeschakeld voor beschrijfbare partities die automatisch worden aangemaakt via systemd-repart. De GrowFileSystem-optie is toegevoegd om de vlag in systemd-repart te configureren.
  • Het bestand /etc/os-release biedt ondersteuning voor nieuwe IMAGE_VERSION- en IMAGE_ID-variabelen om de versie en ID van atomair bijgewerkte afbeeldingen te bepalen. Er wordt voorgesteld dat de %M- en %A-specificaties gespecificeerde waarden in verschillende opdrachten vervangen.
  • De parameter “--extension” is toegevoegd aan het portablectl-hulpprogramma om draagbare systeemextensie-images te activeren (via deze kunt u bijvoorbeeld images distribueren met extra services die in de rootpartitie zijn geïntegreerd).
  • Het hulpprogramma systemd-coredump biedt de extractie van ELF build-id-informatie bij het genereren van een kerndump van een proces, wat handig kan zijn om te bepalen tot welk pakket een falend proces behoort als er informatie over de naam en versie van deb- of rpm-pakketten is gebouwd in de ELF-bestanden.
  • Er is een nieuwe hardwarebasis voor FireWire (IEEE 1394)-apparaten toegevoegd aan udev.
  • In udev zijn drie wijzigingen toegevoegd aan het “net_id” netwerkinterfacenaamselectieschema die de achterwaartse compatibiliteit schenden: onjuiste tekens in interfacenamen worden nu vervangen door “_”; PCI hotplug-slotnamen voor s390-systemen worden in hexadecimale vorm verwerkt; Het gebruik van maximaal 65535 ingebouwde PCI-apparaten is toegestaan ​​(voorheen werden nummers boven 16383 geblokkeerd).
  • systemd-resolved voegt het domein “home.arpa” toe aan de NTA-lijst (Negative Trust Anchors), die wordt aanbevolen voor lokale thuisnetwerken, maar niet wordt gebruikt in DNSSEC.
  • De CPUAffinity-parameter zorgt voor het parseren van de “%”-specificaties.
  • Er is een parameter ManageForeignRoutingPolicyRules toegevoegd aan .network-bestanden, die kan worden gebruikt om systemd-networkd uit te sluiten van de verwerking van routeringsbeleid van derden.
  • De parameter RequiredFamilyForOnline is toegevoegd aan de “.network”-bestanden om de aanwezigheid van een IPv4- of IPv6-adres te bepalen als teken dat de netwerkinterface zich in de “online”-status bevindt. Networkctl geeft voor elke link een weergave van de “online” status.
  • Parameter OutgoingInterface toegevoegd aan .network-bestanden om uitgaande interfaces te definiëren bij het configureren van netwerkbruggen.
  • Er is een groepsparameter toegevoegd aan “.network”-bestanden, waardoor u een Multipath-groep kunt configureren voor items in de sectie “[NextHop]”.
  • Opties "-4" en "-6" toegevoegd aan systemd-network-wait-online om het wachten op verbindingen te beperken tot alleen IPv4 of IPv6.
  • Er is een RelayTarget-parameter toegevoegd aan de DHCP-serverinstellingen, die de server naar de DHCP Ralay-modus schakelt. Voor aanvullende configuratie van het DHCP-relais worden de opties RelayAgentCircuitId en RelayAgentRemoteId aangeboden.
  • De parameter ServerAddress is toegevoegd aan de DHCP-server, waardoor u het IP-adres van de server expliciet kunt instellen (anders wordt het adres automatisch geselecteerd).
  • De DHCP-server implementeert de sectie [DHCPServerStaticLease], waarmee u statische adresbindingen (DHCP-leases) kunt configureren, waarbij vaste IP-bindingen aan MAC-adressen worden opgegeven en omgekeerd.
  • De instelling RestrictAddressFamilies ondersteunt de waarde 'none', wat betekent dat de service geen toegang heeft tot sockets van welke adresfamilie dan ook.
  • In de “.network”-bestanden in de secties [Address], [DHCPv6PrefixDelegation] en [IPv6Prefix] is ondersteuning voor de RouteMetric-instelling geïmplementeerd, waarmee u de metriek kunt opgeven voor het routevoorvoegsel dat voor het opgegeven adres is gemaakt.
  • nss-myhostname en systemd-resolved bieden een synthese van DNS-records met adressen voor hosts met een speciale naam “_outbound”, waarvoor altijd een lokaal IP-adres wordt uitgegeven, gekozen in overeenstemming met de standaardroutes die worden gebruikt voor uitgaande verbindingen.
  • In .network-bestanden is in de sectie “[DHCPv4]” een standaard actieve RoutesToNTP-instelling toegevoegd, die vereist dat een aparte route via de huidige netwerkinterface wordt toegevoegd om toegang te krijgen tot het NTP-serveradres dat voor deze interface is verkregen met behulp van DHCP (vergelijkbaar met DNS Met deze instelling kunt u garanderen dat verkeer naar de NTP-server wordt gerouteerd via de interface waarmee dit adres is ontvangen).
  • SocketBindAllow- en SocketBindDeny-instellingen toegevoegd om de toegang te beheren tot sockets die aan de huidige service zijn gebonden.
  • Voor eenheidsbestanden is een voorwaardelijke instelling met de naam ConditionFirmware geïmplementeerd, waarmee u controles kunt maken die firmwarefuncties evalueren, zoals het werken op UEFI- en device.tree-systemen, en ook de compatibiliteit met bepaalde apparaatboommogelijkheden kunt controleren.
  • De optie ConditionOSRelease geïmplementeerd om velden in het bestand /etc/os-release te controleren. Bij het definiëren van voorwaarden voor het controleren van veldwaarden zijn de operatoren “=”, “!=”, “<“, “<=”, “>=”, “>” acceptabel.
  • In het hostnamectl-hulpprogramma worden opdrachten als “get-xyz” en “set-xyz” bevrijd van de voorvoegsels “get” en “set”, bijvoorbeeld in plaats van “hostnamectl get-hostname” en “hostnamectl “set-hostname” je kunt het commando “hostnamectl hostnaam” gebruiken, waarbij de toewijzing van een waarde wordt bepaald door een extra argument op te geven (“hostnamectl hostnaamwaarde”). Ondersteuning voor oudere opdrachten is behouden om compatibiliteit te garanderen.
  • Het systemd-detect-virt hulpprogramma en de ConditionVirtualization instelling zorgen voor een correcte identificatie van Amazon EC2-omgevingen.
  • De LogLevelMax-instelling in eenheidsbestanden is nu niet alleen van toepassing op logberichten die door de service worden gegenereerd, maar ook op PID 1-procesberichten waarin de service wordt vermeld.
  • Biedt de mogelijkheid om SBAT-gegevens (UEFI Secure Boot Advanced Targeting) op te nemen in systemd-boot EFI PE-bestanden.
  • /etc/crypttab implementeert nieuwe opties "headless" en "password-echo" - met de eerste kunt u alle bewerkingen overslaan die verband houden met het interactief vragen om wachtwoorden en pincodes van de gebruiker, en met de tweede kunt u de methode configureren voor het weergeven van wachtwoordinvoer (niets weergeven, teken voor teken weergeven en sterretjes weergeven). De “--echo” optie is voor soortgelijke doeleinden toegevoegd aan systemd-ask-password.
  • systemd-cryptenroll, systemd-cryptsetup en systemd-homed hebben uitgebreide ondersteuning voor het ontgrendelen van gecodeerde LUKS2-partities met behulp van FIDO2-tokens. Nieuwe opties toegevoegd “--fido2-met-gebruikersaanwezigheid”, “--fido2-met-gebruikersverificatie” en “-fido2-met-client-pin” om de fysieke aanwezigheidsverificatie, verificatie en de noodzaak van toegang van gebruikers te controleren een pincode.
  • Opties “--user”, “--system”, “--merge” en “--file” toegevoegd aan systemd-journal-gatewayd, vergelijkbaar met de journalctl-opties.
  • Naast de directe afhankelijkheden tussen eenheden die zijn gespecificeerd via de OnFailure- en Slice-parameters, is ondersteuning voor impliciete inverse afhankelijkheden OnFailureOf en SliceOf toegevoegd, wat bijvoorbeeld handig kan zijn om te bepalen welke eenheden in een slice zijn opgenomen.
  • Nieuwe soorten afhankelijkheden tussen eenheden toegevoegd: OnSuccess en OnSuccessOf (het tegenovergestelde van OnFailure, opgeroepen na succesvolle voltooiing); PropagatesStopTo en StopPropagatedFrom (hiermee kunt u de stopgebeurtenis van een eenheid doorgeven aan een andere eenheid); Upholds en UpheldBy (alternatief voor Restart).
  • Het hulpprogramma systemd-ask-password heeft nu een “--emoji”-optie om de weergave van het hangslotsymbool (🔐) in de wachtwoordinvoerregel te bepalen.
  • Documentatie toegevoegd over de systemd bronboomstructuur.
  • Voor eenheden is een eigenschap MemoryAvailable toegevoegd, die aangeeft hoeveel geheugen de eenheid nog heeft voordat de limiet wordt bereikt die is ingesteld via de parameters MemoryMax, MemoryHigh of MemoryAvailable.

Bron: opennet.ru

Voeg een reactie