systemd 259: Podpora Musl, posilnenie run0 a zbohom System V

Kľúčové body:
  • Čiastočná podpora pre Musl libc (vyžaduje manuálnu konfiguráciu v Meson).
  • run0 --empower umožňuje privilegované akcie bez zmeny UID používateľa.
  • Potvrdené zastaranie skriptov System V a zvýšené požiadavky (jadro 5.10+).
  • libsystemd teraz načítava externé knižnice pomocou funkcie dlopen() na zníženie závislostí.
  • Ukladanie denníka je teraz štandardne „trvalé“.

systemd

Po niečo viac ako troch mesiacoch vývoja, spustenie nová verzia systém 259. Táto aktualizácia zavádza zmeny v architektúre systému, pričom zdôrazňuje otvorenosť voči alternatívnym štandardným knižniciam, prísnejšiu správu privilégií a prísnejšie technické požiadavky pre budúce verzie.

Jedným z najdiskutovanejších hnutí v tomto cykle je prechod smerom k väčšej modularite a eliminácii závislostí od starších systémov, čo pripravuje cestu pre ekosystém Linuxu, ktorý sa definitívne vzďaľuje od štandardov minulých desaťročí.

Hlavné nové vlastnosti systému 259

Nová verzia systemd 259 vyniká tým, že je... prvá verzia s pridanou čiastočnou kompatibilitou s Musl, populárna štandardná knižnica jazyka C v ľahkých distribúciách a vstavaných prostrediach. Táto integrácia Spravuje sa pomocou možnosti libc v systéme zostavovania Meson. Keďže však Musl neimplementuje funkcionalitu NSS (Name Service Switch), niekoľko komponentov systemd zostáva v tejto konfigurácii vypnutých.

Medzi avýznamné absencie pri kompilácii s Musl sú to nss-systemd, nss-resolve, systemd-homed, systemd-userdbd a parameter DynamicUserOkrem toho nie je možné spustiť systemd-nspawn bez privilégií v rámci tejto knižnice. Vývojári varovali, že zachovanie tejto podpory v budúcich verziách bude závisieť od dopytu komunity a stability akýchkoľvek ďalších vyvinutých vrstiev kompatibility.

Ďalšou novou funkciou novej verzie je v utilite run0, navrhnutý ako moderná a bezpečná alternatíva k sudo, ktorý získal nová možnosť – posilniť. Táto funkcia Umožňuje vám prihlásiť sa so zvýšenými oprávneniami. bez nutnosti zmeny identifikátora používateľa (UID) na root.

Okrem toho, namiesto delegovania úplnej kontroly prostredníctvom prepínania používateľov používa –empower indikátory schopností jadra, ako napríklad CAP_SYS_ADMIN, udeliť nevyhnutne potrebné povolenia vykonávať privilegované systémové volania. Výsledné procesy sú navyše integrované do špecifickej skupiny, ktorá im udeľuje prístup k akciám Polkitu, čím sa zachováva robustnejšie oddelenie privilégií ako v tradičnom modeli sudo.

Koniec jednej éry: Zbohom Systému V a novým požiadavkám

systemd 259 označuje začiatok konca pre kompatibilita s Servisné skripty systému VBolo oznámené, že v ďalšej verzii budú staršie komponenty ako systemd-sysv-generator, systemd-rc-local-generator a systemd-sysv-install natrvalo odstránené.

Spolu s týmto vyčistením starého kódu sa výrazne zvýšili minimálne softvérové ​​požiadavky pre ekosystém systemd:

  • Linuxové jadro: Minimálna verzia 5.10.
  • Glibc: 2.34.
  • OpenSSL: 3.0.0.
  • Utility-linux: 2.37.
  • Ostatné: Python 3.9.0, cryptsetup 2.4.0 a libseccomp 2.4.0.

Modularita a dynamické načítavanie v knižnici libsystemd

como súčasť iniciatívy na zníženie závislostí priamo pri spustení, libsystemd teraz používa dynamické načítavanie cez dlopen() V prípade knižníc ako libacl, libblkid, libseccomp, libselinux a libmount systém načíta tieto knižnice do pamäte iba vtedy, keď proces vyžaduje ich špecifické funkcie, čím sa optimalizuje využitie zdrojov. Funkcia libcap bola navyše integrovaná priamo do libsystemd, čím sa zjednodušil reťazec závislostí.

El Spracovanie protokolov zmenilo svoju predvolenú konfiguráciu: režim ukladania denníka (Časopis) zmeny z „automatického“ na „trvalé“, bez ohľadu na to, či adresár /var/log/journal predtým existoval.

V oblasti sietí a virtualizácie:

  • systemd-networkd a systemd-nspawn: Podpora pravidiel NAT pomocou iptables bola odstránená, takže nftables zostal ako jediná kompatibilná možnosť.
  • systemd-vyriešené: Teraz umožňuje použitie lokálnych hookov (prepínačov) v /run/systemd/resolve.hook/ na zasahovanie do požiadaviek na rozlíšenie mien.
  • systemd-importd: Logika pre prácu so súbormi TAR bola natívne integrovaná. Okrem toho je teraz možné na úrovni používateľa spúšťať príkazy `importd` aj `machined`, čo umožňuje správu obrazov v lokálnom adresári používateľa (`~/.local/state/machines/`).

Ďalšie inovácie

API založené na protokole Varlink dostal vylepšenia, ktoré umožňujú prístup k nastaveniam služieb a uskutočňovanie IPC volaní. ako napríklad Reload() a Reexecute(). Pre systémových administrátorov bude zahrnutie vlastnosti OOMKills do služieb veľmi užitočné, pretože im umožní sledovať, koľkokrát bol proces ukončený z dôvodu nedostatku pamäte priamo z nástrojov systemd.

Nakoniec sa proces zavádzania systému stáva modernejším vďaka odstráneniu podpory pre TPM 1.2 v systemd-boot, čím sa všetko úsilie o zabezpečenie zameriava na štandard TPM 2.0.

Ak máte záujem dozvedieť sa viac o tom, môžete sa poradiť s podrobnosti v nasledujúcom odkaze.