systemd 259: Musl-støtte, run0-styrking og farvel til System V

Viktige punkter:
  • Delvis støtte for Musl libc (krever manuell konfigurasjon i Meson).
  • run0 --empower tillater privilegerte handlinger uten å endre bruker-UID-en.
  • Bekreftet avskrivning av System V-skript og økte krav (Kernel 5.10+).
  • libsystemd laster nå inn eksterne biblioteker ved hjelp av dlopen() for å redusere avhengigheter.
  • Journallagring er nå «permanent» som standard.

systemd

Etter litt over tre måneder med utvikling, lanseringen av den nye versjonen av systemd 259. Denne oppdateringen introduserer endringer i systemarkitekturen, og fremhever åpenheten for alternative standardbiblioteker, strengere rettighetshåndtering og strengere tekniske krav for fremtidige versjoner.

En av de mest omtalte bevegelsene i denne syklusen er overgangen til større modularitet og eliminering av eldre avhengigheter, noe som baner vei for et Linux-økosystem som definitivt beveger seg bort fra standardene fra tidligere tiår.

De viktigste nye funksjonene i systemd 259

Den nye systemd-versjonen 259 skiller seg ut som den første versjon som legger til delvis kompatibilitet med Musl, det populære C-standardbiblioteket i lette distribusjoner og innebygde miljøer. Denne integrasjonen Det administreres gjennom libc-alternativet i Meson-byggesystemet. Men fordi Musl ikke implementerer NSS-funksjonaliteten (Name Service Switch), forblir flere systemd-komponenter deaktivert i denne konfigurasjonen.

Blant de enebemerkelsesverdige fravær ved kompilering med Musl funnet nss-systemd, nss-resolve, systemd-homed, systemd-userdbd og DynamicUser-parameterenVidere er det ikke mulig å kjøre systemd-nspawn uten rettigheter under dette biblioteket. Utviklerne har advart om at opprettholdelse av denne støtten i fremtidige versjoner vil avhenge av fellesskapets etterspørsel og stabiliteten til eventuelle ytterligere kompatibilitetslag som utvikles.

En annen ny funksjon i den nye versjonen er i run0-verktøyet, designet som et moderne og trygt alternativ til sudo, som har mottatt det nye alternativet – styrke. Denne funksjonen Den lar deg logge inn med utvidede rettigheter. uten å måtte endre brukeridentifikatoren (UID) til root.

Bortsett fra det, i stedet for å delegere full kontroll gjennom brukerbytte bruker –empower kjernefunksjonsindikatorer, for eksempel CAP_SYS_ADMIN, å gi de strengt nødvendige tillatelsene å foreta privilegerte systemkall. I tillegg integreres de resulterende prosessene i en spesifikk gruppe som gir dem tilgang til Polkit-handlinger, noe som opprettholder en mer robust separasjon av rettigheter enn den tradisjonelle sudo-modellen.

Slutten på en æra: Farvel til System V og nye krav

systemd 259 markerer begynnelsen på slutten for kompatibilitet med System V-tjenesteskriptDet har blitt annonsert at eldre komponenter som systemd-sysv-generator, systemd-rc-local-generator og systemd-sysv-install vil bli fjernet permanent i neste versjon.

Sammen med denne oppryddingen av gammel kode, har minimumskravene til programvaren for systemd-økosystemet blitt betydelig hevet:

  • Linux-kjernen: Minimumsversjon 5.10.
  • Glibc: 2.34.
  • OpenSSL: 3.0.0.
  • Util-linux: 2.37.
  • Annet: Python 3.9.0, cryptsetup 2.4.0 og libseccomp 2.4.0.

Modularitet og dynamisk lasting i libsystemd

Como en del av et initiativ for å redusere avhengighet direkte ved oppstart, libsystemd bruker nå dynamisk lasting via dlopen() For biblioteker som libacl, libblkid, libseccomp, libselinux og libmount, vil systemet bare laste disse bibliotekene inn i minnet når deres spesifikke funksjoner kreves av en prosess, noe som optimaliserer ressursbruken. I tillegg er libcap-funksjonalitet integrert direkte i libsystemd, noe som forenkler avhengighetskjeden.

El Standardkonfigurasjonen for logghåndtering er endret: journallagringsmodus (Journal) endres fra «automatisk» til «vedvarende», uavhengig av om /var/log/journal-katalogen eksisterte tidligere.

Innen nettverk og virtualisering:

  • systemd-networkd og systemd-nspawn: Støtte for NAT-regler ved bruk av iptables er fjernet, og nftables er det eneste kompatible alternativet.
  • systemd-løst: Den tillater nå bruk av lokale kroker (hooks) i /run/systemd/resolve.hook/ for å gripe inn i navneløsningsforespørsler.
  • systemd-importert: Logikk for å jobbe med TAR-filer er integrert. Videre kan både `importd` og `machined` nå kjøres på brukernivå, noe som muliggjør bildehåndtering i brukerens lokale katalog (`~/.local/state/machines/`).

Andre innovasjoner

Det protokollbaserte API-et Varlink har fått forbedringer for å gi tilgang til tjenesteinnstillinger og foreta IPC-anrop. som for eksempel Reload() og Reexecute(). For systemadministratorer vil inkluderingen av OOMKills-egenskapen i tjenester være svært nyttig, da det vil tillate dem å spore hvor mange ganger en prosess ble avsluttet på grunn av mangel på minne direkte fra systemd-verktøyene.

Til slutt blir systemoppstartsprosessen mer moderne med fjerningen av støtte for TPM 1.2 i systemd-boot, og fokuset på all sikkerhetsinnsats er TPM 2.0-standarden.

Hvis du er interessert i å vite mer om det, kan du konsultere detaljer i følgende lenke.