systemd systeembeheerder release 248

Na vier maanden ontwikkeling wordt de release gepresenteerd van de systeembeheerder systemd 248. De nieuwe release biedt ondersteuning voor images voor het uitbreiden van systeemmappen, het /etc/veritytab configuratiebestand, het systemd-cryptenroll hulpprogramma, het ontgrendelen van LUKS2 met behulp van TPM2-chips en FIDO2 tokens, eenheden uitvoeren in een geïsoleerde IPC-identificatieruimte, BATMAN-protocol voor mesh-netwerken, nftables-backend voor systemd-nspawn. Systemd-oomd is gestabiliseerd.

Grote veranderingen:

  • Het concept van systeemextensie-images is geïmplementeerd, dat kan worden gebruikt om de hiërarchie van de mappen /usr/ en /opt/ uit te breiden en extra bestanden toe te voegen tijdens runtime, zelfs als de opgegeven mappen alleen-lezen zijn aangekoppeld. Wanneer een systeemextensie-image wordt aangekoppeld, wordt de inhoud ervan over de /usr/- en /opt/-hiërarchie heen gelegd met behulp van OverlayFS.

    Er is een nieuw hulpprogramma, systemd-sysext, voorgesteld om afbeeldingen van systeemextensies te verbinden, los te koppelen, te bekijken en bij te werken. Om tijdens het opstarten automatisch reeds geïnstalleerde images te verbinden, is de service systemd-sysext.service toegevoegd. Parameter "SYSEXT_LEVEL=" toegevoegd aan het os-release-bestand om het niveau van ondersteunde systeemextensies te bepalen.

  • Voor eenheden is de instelling ExtensionImages geïmplementeerd, die kan worden gebruikt om systeemextensie-images te koppelen aan de FS-naamruimtehiërarchie van individuele geïsoleerde services.
  • Configuratiebestand /etc/veritytab toegevoegd om gegevensverificatie op blokniveau te configureren met behulp van de dm-verity-module. Het bestandsformaat is vergelijkbaar met /etc/crypttab - “section_name device_for_data device_for_hashes check_hash_root options.” Systemd.verity.root_options kernelopdrachtregeloptie toegevoegd om dm-verity-gedrag voor het rootapparaat te configureren.
  • systemd-cryptsetup voegt de mogelijkheid toe om de PKCS#11-token-URI en de gecodeerde sleutel uit de LUKS2-metagegevensheader in JSON-formaat te extraheren, waardoor informatie over het openen van een gecodeerd apparaat in het apparaat zelf kan worden geïntegreerd zonder dat er externe bestanden bij betrokken zijn.
  • systemd-cryptsetup biedt ondersteuning voor het ontgrendelen van met LUKS2 gecodeerde partities met behulp van TPM2-chips en FIDO2-tokens, naast eerder ondersteunde PKCS#11-tokens. Het laden van libfido2 gebeurt via dlopen(), d.w.z. beschikbaarheid wordt direct gecontroleerd, in plaats van als een vaste afhankelijkheid.
  • Nieuwe opties "no-write-workqueue" en "no-read-workqueue" zijn toegevoegd aan /etc/crypttab voor systemd-cryptsetup om synchrone verwerking van I/O geassocieerd met encryptie en decryptie mogelijk te maken.
  • Het hulpprogramma systemd-repart heeft de mogelijkheid toegevoegd om gecodeerde partities te activeren met behulp van TPM2-chips, om bijvoorbeeld bij de eerste keer opstarten een gecodeerde /var-partitie te maken.
  • Het hulpprogramma systemd-cryptenroll is toegevoegd om TPM2-, FIDO2- en PKCS#11-tokens aan LUKS-partities te binden, en om tokens los te maken en te bekijken, reservesleutels te binden en een wachtwoord voor toegang in te stellen.
  • De parameter PrivateIPC toegevoegd, waarmee u het eenheidsbestand kunt configureren om processen uit te voeren in een geïsoleerde IPC-ruimte met hun eigen afzonderlijke ID's en berichtenwachtrij. Om een ​​eenheid te verbinden met een reeds aangemaakte IPC-identificatieruimte, wordt de optie IPCNamespacePath voorgesteld.
  • ExecPaths- en NoExecPaths-instellingen toegevoegd om toe te staan ​​dat de noexec-vlag wordt toegepast op specifieke delen van het bestandssysteem.
  • systemd-networkd voegt ondersteuning toe voor het BATMAN-mesh-protocol (Better Approach To Mobile Adhoc Networking), waarmee gedecentraliseerde netwerken kunnen worden gecreëerd waarin elk knooppunt is verbonden via aangrenzende knooppunten. Voor configuratie worden de sectie [BatmanAdvanced] in .netdev, de parameter BatmanAdvanced in .network-bestanden en een nieuw apparaattype “batadv” voorgesteld.
  • De implementatie van het vroege responsmechanisme voor weinig geheugen in het systemd-oomd-systeem is gestabiliseerd. De optie DefaultMemoryPressureDurationSec toegevoegd om de wachttijd te configureren voordat een bron wordt vrijgegeven voordat deze een eenheid beïnvloedt. Systemd-oomd maakt gebruik van het kernelsubsysteem PSI (Pressure Stall Information) en stelt u in staat het begin van vertragingen als gevolg van een gebrek aan bronnen te detecteren en selectief resource-intensieve processen te beëindigen in een stadium waarin het systeem zich nog niet in een kritieke toestand bevindt en niet begin met het intensief inkorten van de cache en het verplaatsen van gegevens naar de swappartitie.
  • Kernelopdrachtregelparameter “root=tmpfs” toegevoegd, waarmee u de rootpartitie in tijdelijke opslag in het RAM kunt mounten met behulp van Tmpfs.
  • De parameter /etc/crypttab die het sleutelbestand specificeert, kan nu verwijzen naar de sockettypen AF_UNIX en SOCK_STREAM. In dit geval moet de sleutel worden opgegeven bij het verbinden met de socket, die bijvoorbeeld kan worden gebruikt om services te creëren die dynamisch sleutels uitgeven.
  • De fallback-hostnaam voor gebruik door de systeembeheerder en systemd-hostnamed kan nu op twee manieren worden ingesteld: via de parameter DEFAULT_HOSTNAME in os-release en via de omgevingsvariabele $SYSTEMD_DEFAULT_HOSTNAME. systemd-hostnamed verwerkt ook "localhost" in de hostnaam en voegt de mogelijkheid toe om de hostnaam en de eigenschappen "HardwareVendor" en "HardwareModel" via DBus te exporteren.
  • Het blok met blootgestelde omgevingsvariabelen kan nu worden geconfigureerd via de nieuwe ManagerEnvironment-optie in system.conf of user.conf, en niet alleen via de kernelopdrachtregel en unit-bestandsinstellingen.
  • Tijdens het compileren is het mogelijk om de systeemaanroep fexecve() te gebruiken om processen te starten in plaats van execve() om de vertraging tussen het controleren van de beveiligingscontext en het toepassen ervan te verminderen.
  • Voor eenheidsbestanden zijn nieuwe voorwaardelijke bewerkingen ConditionSecurity=tpm2 en ConditionCPUFeature toegevoegd om te controleren op de aanwezigheid van TPM2-apparaten en individuele CPU-mogelijkheden (ConditionCPUFeature=rdrand kan bijvoorbeeld worden gebruikt om te controleren of de processor de RDRAND-bewerking ondersteunt).
  • Voor beschikbare kernels is het automatisch genereren van systeemoproeptabellen voor seccomp-filters geïmplementeerd.
  • De mogelijkheid toegevoegd om nieuwe bind-mounts te vervangen in bestaande mount-naamruimten van services, zonder de services opnieuw te starten. Vervanging wordt uitgevoerd met de opdrachten 'systemctl bind ...' en 'systemctl mount-image …'.
  • Ondersteuning toegevoegd voor het opgeven van paden in de StandardOutput- en StandardError-instellingen in de vorm “truncate: » voor reiniging vóór gebruik.
  • De mogelijkheid toegevoegd om een ​​verbinding tot stand te brengen met de sessie van een opgegeven gebruiker binnen een lokale container naar SD-bus. Bijvoorbeeld "systemctl -user -M lennart@ start quux".
  • De volgende parameters zijn geïmplementeerd in de systemd.link-bestanden in de sectie [Link]:
    • Promiscue - hiermee kunt u het apparaat in de "promiscue" modus zetten om alle netwerkpakketten te verwerken, inclusief de pakketten die niet aan het huidige systeem zijn geadresseerd;
    • TransmitQueues en ReceiverQueues voor het instellen van het aantal TX- en RX-wachtrijen;
    • TransmitQueueLength om de grootte van de TX-wachtrij in te stellen; GenericSegmentOffloadMaxBytes en GenericSegmentOffloadMaxSegment voor het instellen van limieten voor het gebruik van GRO-technologie (Generic Receiver Offload).
  • Er zijn nieuwe instellingen toegevoegd aan systemd.network-bestanden:
    • [Netwerk] RouteTable om een ​​routeringstabel te selecteren;
    • [RoutingPolicyRule] Type voor het routeringstype ("blackhole, "unreachable", "prohibit");
    • [IPv6AcceptRA] RouteDenyList en RouteAllowList voor lijsten met toegestane en geweigerde routeadvertenties;
    • [DHCPv6] UseAddres om het door DHCP uitgegeven adres te negeren;
    • [DHCPv6PrefixDelegation] Tijdelijk adres beheren;
    • ActivationPolicy om het beleid met betrekking tot interface-activiteit te definiëren (handhaaf altijd de UP- of DOWN-status, of sta de gebruiker toe de status te wijzigen met de opdracht “ip link set dev”).
  • Opties [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps en [MACVLAN] BroadcastMulticastQueueLength toegevoegd aan systemd.netdev-bestanden om VLAN-pakketverwerking te configureren.
  • Het aankoppelen van de map /dev/ in de noexec-modus is gestopt omdat dit een conflict veroorzaakt bij gebruik van de uitvoerbare vlag met /dev/sgx-bestanden. Om het oude gedrag te retourneren, kunt u de instelling NoExecPaths=/dev gebruiken.
  • De bestandsrechten /dev/vsock zijn gewijzigd in 0o666, en de bestanden /dev/vhost-vsock en /dev/vhost-net zijn verplaatst naar de kvm-groep.
  • De hardware ID-database is uitgebreid met USB-vingerafdruklezers die de slaapmodus correct ondersteunen.
  • systemd-resolved heeft ondersteuning toegevoegd voor het geven van antwoorden op DNSSEC-query's via een stub-resolver. Lokale clients kunnen DNSSEC-validatie op zichzelf uitvoeren, terwijl externe clients onveranderd naar de bovenliggende DNS-server worden geproxyd.
  • De optie CacheFromLocalhost toegevoegd aansolving.conf. Indien ingesteld, zal systemd-resolved caching gebruiken, zelfs voor oproepen naar de DNS-server op 127.0.0.1 (standaard is het cachen van dergelijke verzoeken uitgeschakeld om dubbele caching te voorkomen).
  • systemd-resolved voegt ondersteuning toe voor RFC-5001 NSID's in de lokale DNS-resolver, waardoor clients onderscheid kunnen maken tussen interacties met de lokale resolutie en een andere DNS-server.
  • Het solvectl-hulpprogramma implementeert de mogelijkheid om informatie weer te geven over de gegevensbron (lokale cache, netwerkverzoek, lokale processorreactie) en het gebruik van codering bij het verzenden van gegevens. De opties --cache, --synthesize, --network, --zone, --trust-anchor en --validate zijn beschikbaar om het naambepalingsproces te controleren.
  • systemd-nspawn voegt ondersteuning toe voor het configureren van een firewall met behulp van nftables naast de bestaande iptables-ondersteuning. De IPMasquerade-installatie in systemd-networkd heeft de mogelijkheid toegevoegd om een ​​op nftables gebaseerde backend te gebruiken.
  • systemd-localed heeft ondersteuning toegevoegd voor het aanroepen van locale-gen om ontbrekende landinstellingen te genereren.
  • Opties --pager/-no-pager/-json= zijn toegevoegd aan verschillende hulpprogramma's om de paging-modus en uitvoer in JSON-formaat in/uit te schakelen. De mogelijkheid toegevoegd om het aantal kleuren dat in de terminal wordt gebruikt in te stellen via de omgevingsvariabele SYSTEMD_COLORS (“16” of “256”).
  • De build met afzonderlijke maphiërarchieën (split / en /usr) en ondersteuning voor cgroup v1 is verouderd.
  • De master branch in Git is hernoemd van 'master' naar 'main'.

Bron: opennet.ru

Voeg een reactie