systemd 259: Musl támogatás, run0 empower, és búcsú a System V-től

Főbb pontok:
  • Részleges támogatás a Musl libc-hez (kézi konfigurációt igényel a Mesonban).
  • A run0 --empower paranccsal privilegizált műveleteket lehet végrehajtani a felhasználói UID módosítása nélkül.
  • A System V szkriptek elavultságának és a megnövekedett követelményeknek (Kernel 5.10+) megerősítése.
  • A libsystemd mostantól a dlopen() használatával tölti be a külső könyvtárakat a függőségek csökkentése érdekében.
  • A naplótárolás mostantól alapértelmezés szerint „állandó”.

systemd

Kicsit több mint három hónapnyi fejlesztés után, elindítása új verziója rendszer 259. Ez a frissítés változtatásokat vezet be a rendszerarchitektúrában, kiemelve az alternatív szabványos könyvtárak iránti nyitottságot, a szigorúbb jogosultságkezelést és a jövőbeli verziókra vonatkozó szigorúbb technikai követelményeket.

Az egyik legtöbbet emlegetett mozgalom ebben a ciklusban a nagyobb modularitás felé való áttérés és a régi függőségek felszámolása, utat nyitva egy olyan Linux ökoszisztéma előtt, amely végérvényesen eltávolodik az elmúlt évtizedek szabványaitól.

A systemd 259 fő újdonságai

Az új systemd 259-es verziója kiemelkedik a többi közül, mivel a első verzió, amely részleges kompatibilitást biztosít a Musl-lal, a népszerű C szabványkönyvtár a könnyűsúlyú disztribúciókban és beágyazott környezetekben. Ez az integráció A Meson build rendszer libc opciójával kezelhető. Mivel azonban a Musl nem valósítja meg az NSS (Name Service Switch) funkciót, számos systemd komponens letiltva marad ebben a konfigurációban.

Az egyfigyelemre méltó hiányosságok Musl-lal történő fordításkor ők nss-systemd, nss-resolve, systemd-homed, systemd-userdbd és a DynamicUser paraméterTovábbá a systemd-nspawn futtatása nem lehetséges jogosultságok nélkül ebben a könyvtárban. A fejlesztők figyelmeztettek, hogy a támogatás fenntartása a jövőbeli verziókban a közösségi igényektől és a fejlesztett további kompatibilitási rétegek stabilitásától függ.

Az új verzió egy másik új funkciója, hogy a run0 segédprogramban, amelyet a sudo modern és biztonságos alternatívájaként terveztek, és amely megkapta a az új lehetőség – felhatalmazás. Ez a funkció Lehetővé teszi a bejelentkezést emelt jogosultságokkal. anélkül, hogy a felhasználói azonosítót (UID) root-ra kellene módosítani.

Amellett, hogy, a teljes irányítás átruházása helyett felhasználóváltáson keresztül, az –empower kernel képességjelzőket használ, például a CAP_SYS_ADMIN-t, a feltétlenül szükséges engedélyek megadása privilegizált rendszerhívások kezdeményezésére. Ezenkívül az így létrejövő folyamatok egy adott csoportba integrálódnak, amely hozzáférést biztosít számukra a Polkit műveletekhez, így a jogosultságok robusztusabb elkülönítése biztosított, mint a hagyományos sudo modell esetében.

Egy korszak vége: Viszlát a System V-nek és az új követelményeknek

A systemd 259 a vég kezdetét jelzi a következőhöz: kompatibilitás a System V szolgáltatási szkriptekBejelentették, hogy a következő verzióban a régi komponensek, mint például a systemd-sysv-generator, a systemd-rc-local-generator és a systemd-sysv-install véglegesen eltávolításra kerülnek.

A régi kódok megtisztításával együtt a systemd ökoszisztéma minimális szoftverkövetelményei is jelentősen megemelkedtek:

  • Linux kernel: Minimum 5.10-es verzió.
  • Glibc: 2.34.
  • OpenSSL: 3.0.0.
  • Util-linux: 2.37.
  • Egyéb: Python 3.9.0, cryptsetup 2.4.0 és libseccomp 2.4.0.

Modularitás és dinamikus betöltés a libsystemd-ben

Como a függőségek csökkentését célzó kezdeményezés részeként közvetlenül az indításkor, A libsystemd mostantól dinamikus betöltést használ a dlopen() függvényen keresztül. Az olyan könyvtárak esetében, mint a libacl, libblkid, libseccomp, libselinux és libmount, a rendszer csak akkor tölti be ezeket a könyvtárakat a memóriába, ha egy folyamatnak szüksége van a specifikus funkcióikra, optimalizálva ezzel az erőforrás-felhasználást. Ezenkívül a libcap funkcionalitás közvetlenül a libsystemd-be lett integrálva, leegyszerűsítve a függőségi láncot.

El A naplókezelés megváltozott az alapértelmezett konfigurációjában: a naplótárolási mód (Folyóirat) „automatikus”-ról „állandó”-ra változik, függetlenül attól, hogy a /var/log/journal könyvtár korábban létezett-e.

Hálózatok és virtualizáció területén:

  • systemd-networkd és ​​systemd-nspawn: Az iptables használatával működő NAT szabályok támogatása megszűnt, így az nftables maradt az egyetlen kompatibilis opció.
  • systemd-megoldva: Mostantól lehetővé teszi a helyi hookok (hookok) használatát a /run/systemd/resolve.hook/ fájlban a névfeloldási kérésekbe való beavatkozáshoz.
  • systemd-importd: A TAR fájlokkal való munka logikája natívan integrálásra került. Továbbá, mind az `importd`, mind a `machined` futtatható felhasználói szinten, lehetővé téve a képfájlok kezelését a felhasználó helyi könyvtárában (`~/.local/state/machines/`).

Egyéb újítások

A protokoll alapú API A Varlink fejlesztéseket kapott, amelyek lehetővé teszik a szolgáltatásbeállításokhoz való hozzáférést és az IPC-hívások kezdeményezését. például a Reload() és a Reexecute(). A rendszergazdák számára az OOMKills tulajdonság beillesztése a szolgáltatásokba nagyon hasznos lesz, mivel lehetővé teszi számukra, hogy közvetlenül a systemd eszközökből nyomon kövessék, hányszor fejeződött be egy folyamat memóriahiány miatt.

Végül a rendszerindítási folyamat modernebbé válik a TPM 1.2 támogatásának eltávolításával a systemd-bootból, minden biztonsági erőfeszítést a TPM 2.0 szabványra összpontosítva.

Ha többet szeretne megtudni róla, forduljon a részletek a következő linken.