De release van de systeembeheerder systemd 261 en de fork liberated-systemd 261

Na drie maanden ontwikkeling is de release van het systeembeheerprogramma systemd 261 beschikbaar. Belangrijke wijzigingen: voorbereiding op de ondersteuning van API voor leeftijdsverificatie, ondersteuning voor de Kexec Handover- en Live Update Orchestration-subsystemen voor herstarts zonder verlies van toestand, het IMDS (Instance Metadata Service)-subssysteem, functionaliteit voor opstartbeveiliging op systemen zonder fysieke TPM (Trusted Platform Module), en de component systemd-sysinstall met een werkende installer.

Onder de veranderingen in de nieuwe release:

  • Een nieuwe component systemd-sysinstall is toegevoegd, die een eenvoudige installer voor besturingssystemen biedt, die vanuit de opdrachtregel of via een interactieve tekstinterface kan worden beheerd. De functionaliteit van systemd-sysinstall is opgebouwd uit al bestaande mogelijkheden van systemd: voor het partitioneren van schijven wordt systemd-repart gebruikt, voor het installeren van de kernel en het genereren van het opstartmenu — het commando 'bootctl link', voor het installeren van de bootloader systemd-boot — het commando 'bootctl install', en voor de initiĆ«le configuratie van het te installeren systeem (bijvoorbeeld de keuze van de locale en toetsenbordindeling) — systemd-creds.
  • In het kader van de voorbereiding om te voldoen aan de eisen van de wetten voor integratie in het besturingssysteem is in de database userdb een veld birthDate toegevoegd met de geboortedatum van de gebruiker. Dit toegevoegde veld kan worden gebruikt in het voor distributies ontwikkelde portaal xdg-desktop-portal en de service AccountsService om applicaties informatie over de leeftijdscategorie van de gebruiker via de D-Bus-interface 'org.freedesktop.AgeVerification1' of 'org.freedesktop.ParentalControls' te verstrekken. Voor het instellen van de leeftijd is de optie '--birth-date' aan de tool homectl toegevoegd.
  • In de PID1-handler is ondersteuning toegevoegd voor de LUO (Live Update Orchestration) en KHO (Kexec Handover) subsystemen van de Linux-kernel, die volledige herstart en update van de kernel mogelijk maken zonder onderbreking van de werking en zonder verlies van systeemstaten, apparaten en processen. KHO biedt mogelijkheden om een nieuwe kernel vanuit een oude te starten zonder verlies van systeemstaat, terwijl LUO de toestand van apparaten en het geheugen behoudt en de continuĆÆteit van operaties met betrekking tot DMA en interruptverwerking waarborgt.

    In systemd is er voor systeem- en gebruikersunits de mogelijkheid geĆÆmplementeerd om bestandsdescriptoren op te slaan voordat kexec wordt aangeroepen en deze te herstellen na het opnieuw opstarten van de kernel via kexec. In units kunnen ook eigen LUO-sessies worden aangemaakt, die worden opgeslagen en hersteld bij het uitvoeren van kexec. Om het opslaan van de status van de bestandsdescriptoren te activeren, dient de instelling ā€˜FileDescriptorStorePreserve=yes’ te worden gebruikt.

  • Het systemd-imdsd-subsysteem is geĆÆmplementeerd, dat een API biedt op basis van Varlink IPC voor lokale programma's om toegang te krijgen tot de IMDS (Instance Metadata Service) diensten, die door verschillende cloudproviders worden aangeboden. IMDS biedt de mogelijkheid virtuele machines informatie over de cloudomgeving te verkrijgen, bijvoorbeeld kan informatie over de netwerkconfiguratie, geografische locatie van de node, het type CPU en de opslaggrootte worden verkregen. In systemd-imdsd wordt zowel een low-level API voor de toegang tot afzonderlijke velden aangeboden als een high-level interface voor het opvragen op basis van standaard sleutels die overeenkomen met sleutels die specifiek zijn voor individuele cloudplatforms. Voor de interactie met systemd-imdsd is de utility systemd-imds toegevoegd, die het mogelijk maakt om velden uit IMDS in het lokale accountsysteem te importeren.

    Om cloudplatforms te herkennen op basis van informatie uit SMBIOS en om de op de huidige node beschikbare IMDS-functionaliteit te bepalen, is er een nieuwe DB hwdb.d/40-imds.hwdb toegevoegd. Er is herkenning van cloudplatforms zoals Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS en Vultr geĆÆmplementeerd. De systemd-imds-generator-handler is beschikbaar voor automatische invulling van de service voor het verkrijgen van gegevens via IMDS in geval van detectie van een werking onder een ondersteund cloudplatform. Universele afbeeldingen kunnen worden gemaakt die het gebruik van IMDS ondersteunen bij het opstarten in cloudomgevingen, maar die ook zonder IMDS kunnen werken.

  • In systemd-stub is de functionaliteit ā€˜boot secret’ geĆÆmplementeerd, waarmee een sleutel kan worden gemaakt op basis van een EFI-variabele die is opgeslagen in een voor het besturingssysteem onbereikbaar gebied en die is geĆÆnitialiseerd met een willekeurige waarde. In initrd wordt de sleutel doorgegeven via het bestand /.extra/boot-secret. Deze mogelijkheid kan nodig zijn om een systeem-specifieke willekeurige sleutel te verkrijgen voor het verifiĆ«ren van het opstartproces of voor encryptie op systemen zonder hardwarematige TPM (Trusted Platform Module).
  • De service systemd-tpm2-swtpm.service is toegevoegd voor het starten van de emulator voor TPM-chips swtpm (Software TPM Emulator), die kan worden gebruikt voor automatische terugval op een software-implementatie van TPM voor veilige opstart op systemen zonder hardware-TPM. De software-TPM werkt in de gebruikersruimte en biedt niet hetzelfde beveiligingsniveau als hardware-TPM, maar in sommige situaties is het gebruik ervan gerechtvaardigd in vergelijking met functioneren zonder TPM. Bijvoorbeeld, de software-TPM kan een encryptiesleutel voor partities verkrijgen via de nieuwe functionaliteit 'boot secret' en gebruiken om zijn status op te slaan op de ESP-partitie (EFI System Partition) op de schijf. Om de software-TPM automatisch in te schakelen, is de parameter systemd.tpm2_software_fallback voorgesteld in de opstartparameters van de kernel.
  • De component systemd-sysupdate is aangekondigd als stabiel en geplaatst in /usr/bin, bedoeld voor automatische detectie, download en installatie van updates met behulp van een atomair mechanisme voor het vervangen van partities, bestanden of mappen (er worden twee onafhankelijke partities/bestanden/mappen gebruikt, waarvan de ene de huidige werkende bron bevat, terwijl de andere de volgende update installeert, waarna de partities/bestanden/mappen omwisselen).
  • In systemd-resolved is de mogelijkheid geĆÆmplementeerd om DNS-records te overschrijven of nieuwe DNS-records aan te geven door bestanden in JSON-formaat in de mappen systemd/resolve/static.d/ te plaatsen. In tegenstelling tot /etc/hosts kunnen in de nieuwe bestanden niet alleen koppelingen worden gemaakt aan hostnamen, IP-adressen maar ook resource DNS RR-records worden gedefinieerd die verschillen van 'A' en 'AAAA'. Daarnaast zijn er instellingen voor de grootte van de DNS-cache toegevoegd in systemd-resolved: ā€˜DNSCacheSize’, ā€˜MulticastDNSCacheSize’ en ā€˜LLMNRCacheSize’.
  • De tool ā€˜storagectl’ is toegevoegd voor het inspecteren van opslagapparaten en voor het beheren van de verbinding van blokapparaten en bestandssystemen.
  • In het kader van het initiatief om afhankelijkheden te verminderen, is in libsystemd dynamische laden van de bibliotheken libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk en libcryptsetup geĆÆmplementeerd
    via de aanroep dlopen() in situaties waarin hun functies daadwerkelijk nodig zijn.
  • In systemd-tmpfiles is a flag "--inline" added, allowing directives to be set in the command line without creating configuration files in tmpfiles.d/ and without sending settings via STDIN. A new directive type 'k/K' has been added for setting capabilities. A configuration file tmpfiles.d/root.conf has been added, setting the access rights to 0555 (-r-xr-xr-x) for the root directory (/) to protect against incorrect permissions when dynamically forming the root FS.
  • In the bootctl utility, saving a backup of the systemd-boot loader and writing an old version in UEFI as a fallback boot option has been implemented.
  • In systemd-vmspawn, support has been added for direct kernel booting without using UEFI firmware. An option "--firmware-features" has been implemented to selectively enable or disable individual firmware capabilities. A mode "--console=headless" has been added for running the virtual machine without a console and display. An option "--image-disk-type" has been added to select the block storage type used in the VM (virtio-blk, virtio-scsi, nvme, scsi-cd). An option "--coco" (Confidential Computing) has been added to enable memory encryption mode. virtuele machines using AMD SEV-SNP technology.
  • In systemd-hostnamed and /etc/machine-info support has been added for attaching arbitrary tags to the current system using the "Tags" parameter. The set tags can then be applied for selective setting application with verification through the ConditionMachineTag expression.
  • EventLoopRateLimitIntervalSec and EventLoopRateLimitBurst settings have been added, limiting the intensity of the event processing cycle in PID1 to free up CPU resources in case of looping.
  • In the service manager, a MinimumUptimeSec setting for specifying the minimum uptime of the system (15 seconds by default) has been implemented. If shutdown or reboot is initiated before this time expires, the appropriate delay is added at the final stage.
  • New settings for units have been implemented: CPUSetPartition for setting the type of cpuset partition in the cgroup ("root", "isolated", "member"), RestrictFileSystemAccess to allow only the execution of files verified by digital signature through dm-verity, and CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec for receiving notifications about high CPU and I/O load.
  • De lijst met statistieken die door de tool systemd-report worden weergegeven, is uitgebreid. Zo zijn er nu informatie over de fysieke geheugen-grootte en actieve CPU-kernen toegevoegd, gegevens over de inhoud van de SMBIOS-velden en /etc/machine-info, informatie over de ondersteuning van de Confidential Computing-modus en details over de TPM2-chipfabrikant.
  • In systemd-oomd is de mogelijkheid geĆÆmplementeerd om regels te definiĆ«ren voor het filteren van processen wanneer er een geheugen tekort in het systeem ontstaat. Regels kunnen worden opgegeven in de map /etc/systemd/oomd/rules.d/ of in de servicemodules via de OOMRule-directief.
  • In systemd-socket-proxy is ondersteuning voor het 'PROXY'-protocol toegevoegd, dat overeenkomt met de eerste versie van het 'haproxy'-protocol.
  • In systemd-networkd is een nieuwe backend sd-dhcp-relay geĆÆmplementeerd voor DHCP-relays. De instellingen in de sectie '[DHCPServer]' - BindToInterface, RelayTarget, RelayAgentCircuitId en RelayAgentRemoteId - zijn als verouderd verklaard; in plaats daarvan moet de DHCPRelay-parameter in de sectie '[Network]' en een reeks nieuwe instellingen in de sectie [DHCPRelay] en het bestand networkd.conf worden gebruikt. Er is ook de opdracht 'networkctl dhcp-lease INTERFACE' toegevoegd voor het opslaan van een dump met informatie over de IP-adresbindingen (DHCP-leasen).
  • In de tool systemd-nspawn is de optie '--restrict-address-families' toegevoegd, evenals de instelling RestrictAddressFamilies in .nspawn-bestanden om de gebruikte adresfamilies van sockets in de container te beperken. In toekomstige versies zullen standaard alleen de families AF_INET, AF_INET6 en AF_UNIX zijn toegestaan.
  • De ondersteuning voor het oude udev-databasetype (versie 0.x) is stopgezet. Live-upgrades van systemd-versies naar release 247 worden niet meer ondersteund.
  • Bij compilatie met de C-bibliotheek musl is nu ten minste release musl 1.2.6 vereist.

Daarnaast kan de release van het project liberated-systemd 261 worden opgemerkt, dat een fork van systemd ontwikkelt die vrij is van code die kan worden gebruikt voor het volgen van gebruikers. In de voorgestelde release zijn de veranderingen gericht op het verwijderen van code die aan de userdb het veld birthDate toevoegt met de geboortedatum van de gebruiker, en in de tool homectl de optie '--birth-date' voor het instellen van de leeftijd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster