Udgivelse af systemadministratoren systemd 261 og forgreningen liberated-systemd 261

Efter tre måneders udvikling er udgivelsen af systemadministratoren systemd 261 tilgængelig. Nøgleændringer: forberedelse til understøttelse af API til aldersbekræftelse, understøttelse af subsystemerne Kexec Handover og Live Update Orchestration til genstart uden at miste tilstand, subsystemet IMDS (Instance Metadata Service), funktionalitet til beskyttelse af opstart på systemer uden fysisk TPM (Trusted Platform Module), komponenten systemd-sysinstall med implementering af installationsprogrammet.

Blandt ændringerne i den nye udgave:

  • En ny komponent, systemd-sysinstall, er blevet tilføjet med implementering af en simpel installationsprogram for operativsystemet, som kan styres fra kommandolinjen eller gennem et interaktivt tekstinterface. Funktionaliteten i systemd-sysinstall er baseret på de eksisterende muligheder i systemd: systemd-repart anvendes til konfiguration af diskpartitioner, "bootctl link"-kommandoen bruges til installation af kernen og generering af bootmenuen, mens "bootctl install"-kommandoen bruges til at installere bootloaderen systemd-boot, og systemd-creds bruges til den indledende konfiguration af det installerede system (f.eks. valg af lokalitet og tastaturlayout).
  • Som en del af forberedelsen til implementeringen af lovkravene om integration af et API til aldersverifikation i OS er der blevet tilføjet et felt birthDate med brugerens fødselsdato til userdb. Det tilføjede felt kan anvendes på den udviklede portal xdg-desktop-portal og tjenesten AccountsService til at give applikationer oplysninger om brugerens aldre gennem D-Bus grænsefladen "org.freedesktop.AgeVerification1" eller "org.freedesktop.ParentalControls". For at indstille alderen er der tilføjet en mulighed "—birth-date" til værktøjet homectl.
  • I handleren PID1 er der tilføjet understøttelse af Linux-kernelens subsystemer LUO (Live Update Orchestration) og KHO (Kexec Handover), som muliggør fuld genstart og opdatering af kernen uden at stoppe arbejdet og uden at miste systemets, enhedernes og processernes tilstand. KHO giver muligheder for at starte en ny kerne fra en gammel uden at miste systemets tilstand, mens LUO implementerer bevaring af enhedernes og RAM's tilstand samt sikrer kontinuitet i operationer relateret til DMA og håndtering af afbrydelser.

    I systemd er der i system- og bruger-enheder implementeret mulighed for at gemme filbeskrivelser før kexec-kaldet og genskabe dem efter genstart af kernen via kexec. I enhederne kan der også oprettes egne LUO-sessioner, som gemmes og gendannes under udførelsen af kexec. For at aktivere gemningen af tilstanden til filbeskrivelser skal indstillingen ‘FileDescriptorStorePreserve=yes’ anvendes.

  • Systemd-imdsd subsystemet er implementeret, hvilket tilbyder et API baseret på Varlink IPC til lokal adgang for programmer til IMDS-tjenester (Instance Metadata Service), der leveres af forskellige cloud-udbydere. IMDS giver mulighed for virtuelle maskiner at modtage information om cloud-miljøet, for eksempel kan man få oplysninger om netværkskonfiguration, geografisk placering af noden, CPU-type og lagerstørrelse. I systemd-imdsd tilbydes både et lavniveau API til adgang til individuelle felter og et høj-niveau interface til forespørgsler baseret på typiske nøgler, der er knyttet til specifikke nøgler for forskellige cloud-platforme. For interaktion med systemd-imdsd er der tilføjet et værktøj, systemd-imds, som muliggør import af felter fra IMDS til det lokale brugerkonto-system.

    For at genkende cloud-platforme baseret på information fra SMBIOS og bestemme den tilgængelige IMDS-funktionalitet på den aktuelle node er der tilføjet en ny database hwdb.d/40-imds.hwdb. Genkendelse af cloud-platforme som Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS og Vultr er implementeret. systemd-imds-generator er tilgængelig som en behandler for automatisk at indsætte tjenesten til at hente data via IMDS, når der identificeres drift på en understøttet cloud-platform. Universelle billeder, der understøtter brugen af IMDS ved opstart i cloud-miljøer, men som også kan fungere uden IMDS, kan oprettes.

  • I systemd-stub er der implementeret funktionalitet for 'boot secret', som muliggør dannelse af en nøgle baseret på en EFI-variabel, der opbevares i et område utilgængeligt for operativsystemet og initialiseres med en tilfældig værdi. I initrd overføres nøglen gennem filen /.extra/boot-secret. Denne funktion kan være nødvendig for at opnå en systemspecifik tilfældig nøgle til verifikation af bootprocessen eller kryptering på systemer uden hardware TPM (Trusted Platform Module).
  • Tjenesten systemd-tpm2-swtpm.service er tilføjet for at starte emulatoren af TPM-chips, swtpm (Software TPM Emulator), som kan bruges til automatisk at falde tilbage til en softwareimplementering af TPM for sikker opstart på systemer uden hardware-TPM. Software-TPM fungerer i brugerområdet og kan ikke opnå det samme beskyttelsesniveau som hardware-TPM, men i visse situationer er brugen berettiget i forhold til at arbejde uden TPM. For eksempel kan software-TPM få krypteringsnøglen til partitioner ved hjælp af den nye funktionalitet 'boot secret' og bruge partition ESP (EFI System Partition) på disk til at gemme sin tilstand. For automatisk aktivering af software-TPM er der foreslået en kommandolinjeparameter i kernen systemd.tpm2_software_fallback.
  • Komponenten systemd-sysupdate er blevet erklæret stabil og placeret i /usr/bin/, designet til automatisk at opdage, downloade og installere opdateringer ved hjælp af en atomar mekanisme til udskiftning af partitioner, filer eller kataloger (der anvendes to uafhængige partitioner/filer/kataloger, hvoraf den ene indeholder den aktuelle fungerende ressource, mens den anden installerer den næste opdatering, hvorefter partitioner/filer/kataloger bytter plads).
  • I systemd-resolved er muligheden for at ændre eller angive nye DNS-poster implementeret gennem placering af JSON-filer i katalogerne systemd/resolve/static.d/. I modsætning til /etc/hosts kan nye filer ikke kun binde IP-adresser til værtsnavne, men også definere ressourcens DNS RR-poster, der adskiller sig fra 'A' og 'AAAA'. Derudover er der tilføjet indstillinger for størrelsen af DNS-cachen i systemd-resolved: 'DNSCacheSize', 'MulticastDNSCacheSize' og 'LLMNRCacheSize'.
  • Værktøjet 'storagectl' er tilføjet til inspektion af lagringsenheder og styring af tilslutningen af blokkerede enheder og filsystemer.
  • Som en del af initiativet til at reducere afhængigheder er der i libsystemd implementeret dynamisk indlæsning af bibliotekerne libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk og libcryptsetup
    ved hjælp af kaldet dlopen() i situationer, hvor deres funktioner virkelig er nødvendige.
  • I systemd-tmpfiles er der tilføjet et flag "--inline", der gør det muligt at angive direktiver i kommandolinjen uden at oprette konfigurationsfiler i tmpfiles.d/ og uden at sende indstillinger gennem STDIN. Der er tilføjet en ny type direktiv 'k/K' til at angive capabilities. En konfigurationsfil tmpfiles.d/root.conf er blevet tilføjet, som angiver adgangsretten 0555 (-r-xr-xr-x) til rodmappen (/) for at beskytte mod angivelse af forkerte rettigheder ved dynamisk generering af rod-FS.
  • I værktøjet bootctl er der tilføjet en funktion til at gemme en sikkerhedskopi af bootloaderen systemd-boot og angive den gamle version i UEFI som en backup bootmulighed.
  • I systemd-vmspawn er der tilføjet support til direkte indlæsning af kernen uden brug af UEFI-firmware. Muligheden "--firmware-features" er implementeret til selektiv aktivering eller deaktivering af specifikke firmware-funktioner. Der er tilføjet en tilstand "--console=headless" til at starte en virtuel maskine uden konsol og skærm. Der er tilføjet muligheden "--image-disk-type" til at vælge den anvendte VM-type for blokkager (virtio-blk, virtio-scsi, nvme, scsi-cd). Der er også tilføjet muligheden "--coco" (Confidential Computing) til at aktivere hukommelseskrypteringsmodus. virtual machines ved hjælp af AMD SEV-SNP teknologi.
  • I systemd-hostnamed og /etc/machine-info er der tilføjet support til at vedhæfte vilkårlige tags til det nuværende system ved hjælp af parametret "Tags". De angivne tags kan derefter anvendes til selektiv anvendelse af indstillinger med kontrol via udtrykket ConditionMachineTag.
  • Der er tilføjet indstillingerne EventLoopRateLimitIntervalSec og EventLoopRateLimitBurst, som begrænser intensiteten af event-behandlingscyklussen i PID1 for at frigøre CPU-ressourcer i tilfælde af op til et loop.
  • I service manageren er MinimumUptimeSec indstillingen blevet implementeret for at angive minimum driftstid for systemet (som standard 15 sekunder). Hvis der initieres en nedlukning eller genstart før udløbet af denne tid, tilføjes der en tilsvarende forsinkelse i den afsluttende fase.
  • Der er implementeret nye indstillinger for unit'er CPUSetPartition til at angive typen af cpuset partition i cgroup ("root", "isolated", "member"), RestrictFileSystemAccess til kun at tillade kørsel af eksekverbare filer, der er verificeret med digital underskrift ved hjælp af dm-verity, samt CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec til at modtage meddelelser om høj belastning på CPU og input/output.
  • Listen over de metricer, der leveres af systemd-report, er blevet udvidet. For eksempel er der tilføjet oplysninger om størrelsen af det fysiske hukommelse og aktive CPU-kerner, data om indholdet af SMBIOS-felter og /etc/machine-info, information om understøttelse af Confidential Computing-tilstand, samt oplysninger om TPM2-chipproducenten.
  • Systemd-oomd har implementeret muligheden for at definere regler for udskillelse af processer ved hukommelsesmangel i systemet. Reglerne kan angives i kataloget /etc/systemd/oomd/rules.d/ eller i serviceenheder via direktivet OOMRule.
  • Systemd-socket-proxy har tilføjet support for PROXY-protokollen, der svarer til den første version af haproxy-protokollen.
  • Systemd-networkd har implementeret en ny backend, sd-dhcp-relay, til DHCP-relæer. Indstillinger er blevet erklæret forældede i sektionen [DHCPServer] — BindToInterface, RelayTarget, RelayAgentCircuitId og RelayAgentRemoteId, i stedet for hvilke parameteren DHCPRelay i sektionen [Network] bør anvendes sammen med en serie nye indstillinger i sektionen [DHCPRelay] og i filen networkd.conf. Der er tilføjet kommandoen 'networkctl dhcp-lease INTERFACE' til at gemme et dump med oplysninger om IP-adressebindingerne (DHCP lease).
  • Den nye option '--restrict-address-families' er blevet tilføjet til værktøjet systemd-nspawn, og i .nspawn-filerne er der tilføjet indstillingen RestrictAddressFamilies for at begrænse de adresstyper, der kan anvendes i containeren. I fremtidige udgivelser vil kun familierne AF_INET, AF_INET6 og AF_UNIX være tilladt som standard.
  • Understøttelsen af det gamle udev-databaseformat (version 0.x) er blevet ophørt. On-the-fly opdatering fra systemd-versioner til version 247 understøttes ikke længere.
  • Ved kompilering med musl C-biblioteket kræves det nu at have mindst musl-version 1.2.6.

Derudover skal det bemærkes, at projektet liberated-systemd 261 er blevet udgivet, en fork af systemd, der er fri for kode, som kan bruges til at overvåge brugere. I den foreslåede udgivelse omfatter ændringerne fjernelse af koden, der tilføjer fødselsdato til userdb med brugerens fødselsdato, samt den tilføjede option '--birth-date' i homectl for at indstille alderen.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster