systemd 261 en liberated-systemd 261

Na drie maanden ontwikkeling beschikbaar is uitgave van systeembeheerder systemd 261. Belangrijke wijzigingen: voorbereiding op ondersteuning voor de API voor ouderverificatie, ondersteuning voor Kexec Handover en Live Update Orchestration subsystemen voor herstart zonder verlies van status, IMDS (Instance Metadata Service), functionaliteit voor veilige opstart op systemen zonder fysieke TPM (Trusted Platform Module), component systemd-sysinstall met de implementatie van een installer.

Onder wijzigingen in de nieuwe release:

  • Een nieuwe component toegevoegd systemd-sysinstall met de implementatie van een eenvoudige besturingssysteeminstallateur, die kan worden aangestuurd vanuit de opdrachtregel of via een interactieve tekstinterface. De functionaliteit van systemd-sysinstall is gevormd uit reeds bestaande mogelijkheden van systemd: voor het configureren van schijfpartities wordt gebruikgemaakt van systemd-repart, voor het installeren van de kernel en het genereren van een opstartmenu — de opdracht “bootctl link”, voor het installeren van de bootloader systemd-boot — de opdracht “bootctl install”, voor de initiële configuratie van het te installeren systeem (bijvoorbeeld het kiezen van de locale en toetsenbordindeling) — systemd-creds.
  • In het kader van de voorbereiding op de implementatie van de vereisten van de wetten voor de integratie in het OS API voor leeftijdsverificatie in de DB userdb is een veld birthDate toegevoegd met de geboortedatum van de gebruiker. Het toegevoegde veld kan worden gebruikt in het voor distributies ontwikkelde portaal xdg-desktop-portal en de service AccountsService om toepassingen informatie te geven over de leeftijdscategorie van de gebruiker via de D-Bus interface org.freedesktop.AgeVerification1 of org.freedesktop.ParentalControls. Voor het instellen van de leeftijd is de optie —birth-date toegevoegd aan de tool homectl.
  • In de handler PID1 is ondersteuning voor de Linux-kernel subsystemen toegevoegd LUO (Live Update Orchestration) en KHO (Kexec Handover), die een volledige herstart en update van de kernel mogelijk maken zonder de werking te stoppen en zonder verlies van de status van het systeem, apparaten en processen. KHO biedt mogelijkheden om een nieuwe kernel vanuit een oude te starten zonder verlies van de systeemstatus, en LUO realiseert het behoud van de status van apparaten en het RAM-geheugen, evenals de continuïteit van bewerkingen die verband houden met DMA en interruptverwerking.
    In systemd is de mogelijkheid gerealiseerd voor het opslaan van bestandsdescriptoren voor systeem- en gebruikersunits voor de oproep van kexec en hun herstel na de herstart van de kernel via kexec. In de units kunnen ook eigen sessies worden aangemaakt. LUO, opgeslagen en hersteld tijdens de uitvoering van kexec. Om het opslaan van de status van de bestandsdescriptoropslag in te schakelen, moet de instelling FileDescriptorStorePreserve=yes worden gebruikt.
  • Een subsysteem is geïmplementeerd systemd-imdsd, dat een API op basis van Varlink IPC biedt voor lokale programma's om toegang te krijgen tot de IMDS (Instance Metadata Service) die door verschillende cloudserviceproviders worden geleverd. IMDS stelt virtuele machines in staat om informatie over de cloudomgeving te verkrijgen, zoals netwerkinstellingen, geografische locatie van de node, CPU-type en opslaggrootte. In systemd-imdsd wordt zowel een low-level API voor toegang tot individuele velden als een high-level interface voor aanvragen op standaard sleutels die overeenkomen met sleutels specifiek voor afzonderlijke cloudplatforms aangeboden. Er is een tool genaamd systemd-imds toegevoegd, waarmee velden uit IMDS naar het lokale accountsysteem kunnen worden geïmporteerd.
    Om cloudplatforms te herkennen aan de hand van informatie uit SMBIOS en de beschikbare IMDS-functionaliteit op de huidige node te bepalen, is er een nieuwe database hwdb.d/40-imds.hwdb toegevoegd. Herkenning is geïmplementeerd voor cloudplatforms zoals Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS en Vultr. De systemd-imds-generator-handler is beschikbaar voor automatisch invoegen van de service voor het ophalen van gegevens via IMDS, in het geval dat wordt vastgesteld dat de werking plaatsvindt onder een ondersteund cloudplatform. Er kunnen universele afbeeldingen worden gemaakt die gebruik van IMDS ondersteunen bij het starten in cloudomgevingen, maar die ook zonder IMDS kunnen functioneren.
  • In systemd-stub is de bootsecret-functionaliteit geïmplementeerd, die een sleutel kan genereren op basis van een EFI-variabele die is opgeslagen in een voor het besturingssysteem onbereikbaar gebied en geïnitialiseerd is met een willekeurige waarde. In initrd wordt de sleutel doorgegeven via het bestand /.extra/boot-secret. Deze functie kan nodig zijn om een systeem-specifieke willekeurige sleutel voor het verifiëren van het opstartproces of encryptie te verkrijgen op systemen zonder hardwarematige TPM (Trusted Platform Module).
  • De service systemd-tpm2-swtpm.service is toegevoegd voor het starten van een TPM-chipsimulator swtpm (Software TPM Emulator), dat kan worden gebruikt voor automatische terugval naar een softwarematige implementatie van TPM voor beveiligde opstartprocessen op systemen zonder hardwarematige TPM. Software TPM werkt in de gebruikersruimte en biedt niet hetzelfde beschermingsniveau als hardwarematige TPM, maar in sommige situaties is het gebruik ervan gerechtvaardigd vergeleken met werken zonder TPM. Bijvoorbeeld, software TPM kan een versleutelingssleutel van partities verkrijgen door gebruik te maken van de nieuwe functionaliteit 'boot secret' en zijn status opslaan op de ESP-partitie (EFI Systeempartitie) op de schijf. Voor automatische activering van software TPM is de opstartparameter systemd.tpm2_software_fallback voorgesteld.
  • Is officieel stabiel verklaard en geplaatst in /usr/bin de component systemd-sysupdate, bedoeld voor het automatisch detecteren, downloaden en installeren van updates met behulp van een atomair mechanisme voor het vervangen van partities, bestanden of mappen (twee onafhankelijke partities/bestanden/mappen worden gebruikt, waarvan de ene de huidige werkende resource bevat en de andere de volgende update installeert, waarna de partities/bestanden/mappen worden verwisseld).
  • In systemd-resolved heeft de mogelijkheid geïmplementeerd om nieuwe DNS-records te overschrijven of aan te geven door bestanden in JSON-formaat te plaatsen in de mappen systemd/resolve/static.d/. In tegenstelling tot /etc/hosts kan men in de nieuwe bestanden niet alleen IP-adressen aan hostnamen koppelen, maar ook resource DNS RR-records definiëren die verschillend zijn van 'A' en 'AAAA'. Bovendien zijn er instellingen voor de grootte van de DNS-cache toegevoegd aan systemd-resolved: DNSCacheSize, MulticastDNSCacheSize en LLMNRCacheSize.
  • Een hulpprogramma ‘storagectl’ is toegevoegd voor het inspecteren van opslagapparaten en het beheren van de verbinding van blokapparaten en bestandssystemen.
  • In het kader van van het initiatief door afhankelijkheden in libsystemd te verminderen, is dynamische laading van de bibliotheken libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk en libcryptsetup geïmplementeerd door middel van de dlopen()-aanroep in situaties waarin hun functies werkelijk nodig zijn.
  • In systemd-tmpfiles heeft de vlag —inline toegevoegd, waarmee het mogelijk is om richtlijnen in de opdrachtregel te stellen zonder configuratiebestanden in tmpfiles.d aan te maken en zonder instellingen via STDIN te verzenden. Een nieuw type richtlijn k/K voor het stellen is toegevoegd. capabilities. Een configuratiebestand tmpfiles.d/root.conf is toegevoegd, die de toegangsrechten 0555 (-r-xr-xr-x) voor de rootdirectory (/) instelt om te beschermen tegen onjuiste rechten bij de dynamische vorming van het rootbestandssysteem.
  • In de tool bootctl is een backup van de systemd-bootloader veiliggesteld en is de oude versie in UEFI als een fallback-bootoptie geregistreerd.
  • In systemd-vmspawn ondersteuning voor directe kernelboot zonder gebruik te maken van UEFI-firmware is toegevoegd. Er is een optie —firmware-features geïmplementeerd voor het selectief in- of uitschakelen van individuele firmwarefuncties. Een —console=headless-modus is toegevoegd voor het starten van een virtuele machine zonder console en scherm. De optie —image-disk-type is toegevoegd voor het kiezen van het soort blockopslag (virtio-blk, virtio-scsi, nvme, scsi-cd) dat in de VM wordt gebruikt. Een —coco-optie (Confidential Computing) is toegevoegd om de modus voor het versleutelen van het geheugen van virtuele machines in te schakelen met behulp van AMD SEV-SNP-technologie.
  • In systemd-hostnamed en /etc/machine-info is de ondersteuning voor het koppelen van willekeurige tags aan het huidige systeem toegevoegd met behulp van de parameter Tags. De ingestelde tags kunnen vervolgens worden gebruikt voor het selectief toepassen van instellingen met controle via de expressie ConditionMachineTag.
  • Instellingen EventLoopRateLimitIntervalSec en EventLoopRateLimitBurst zijn toegevoegd, die de intensiteit van de gebeurteniscycli in PID1 beperken om CPU-hulpbronnen vrij te geven in geval van een loop.
  • 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.
  • Voor units zijn nieuwe instellingen geïmplementeerd voor CPUSetPartition om het type cpuset-partitie in cgroup in te stellen (root, isolated, member), RestrictFileSystemAccess om alleen uitvoerbare bestanden te laten draaien die geverifieerd zijn met een digitale handtekening via dm-verity, en CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec voor het ontvangen van meldingen over hoge belasting van CPU en I/O.
  • De lijst van statistieken die door de tool worden weergegeven, is uitgebreid. systemd-report. Bijvoorbeeld zijn er gegevens toegevoegd over de hoeveelheid fysieke geheugen en actieve CPU-kernen, informatie over de inhoud van SMBIOS-velden en /etc/machine-info, informatie over de ondersteuning voor de modus Confidential Computing en gegevens over de fabrikant van de TPM2-chips.
  • In systemd-oomd heeft de mogelijkheid geïmplementeerd om regels te definiëren voor het afsnijden van processen bij geheugentekort in het systeem. Regels kunnen worden ingesteld in de map /etc/systemd/oomd/rules.d/ of in service-units via de OOMRule-directive.
  • In systemd-socket-proxy ondersteuning voor het PROXY-protocol, dat overeenkomt met de eerste versie van het haproxy-protocol, is toegevoegd.
  • In systemd-networkd een nieuwe backend sd-dhcp-relay voor DHCP-relays is geïmplementeerd. Instellingen in de [DHCPServer]-sectie zijn als verouderd verklaard — BindToInterface, RelayTarget, RelayAgentCircuitId en RelayAgentRemoteId, waarvoor de parameter DHCPRelay in de [Network]-sectie en een reeks nieuwe instellingen in de [DHCPRelay]-sectie en in het bestand networkd.conf moeten worden gebruikt. De opdracht networkctl dhcp-lease INTERFACE is toegevoegd voor het opslaan van een dump met informatie over de IP-adresbindingen (DHCP lease).
  • In de tool systemd-nspawn de optie —restrict-address-families is toegevoegd, en in .nspawn-bestanden is de instelling RestrictAddressFamilies toegevoegd 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 worden toegestaan.
  • ondersteuning voor het oude udev-databaseformaat (versie 0.x) is stopgezet. Live-upgrade van systemd versies naar de release 247 (opennet.ru) wordt niet langer ondersteund.
  • Bij compilatie met de C-bibliotheek musl is nu ten minste release musl 1.2.6 vereist.

Daarnaast kan worden vermeld release van het project liberated-systemd 261, een fork van systemd die vrij is van code die kan worden gebruikt om gebruikers te bespioneren. In de voorgestelde release zijn de wijzigingen gebaseerd op het verwijderen van de code die het birthDate-veld met de geboortedatum van de gebruiker aan userdb toevoegt, en de optie —birth-date voor het instellen van de leeftijd in de homectl-tool.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster