systemd 259: Подршка за Musl, оснаживање run0 и збогом System V

Кључне тачке:
  • Делимична подршка за Musl libc (захтева ручну конфигурацију у Meson-у).
  • run0 --empower омогућава привилеговане акције без промене корисничког UID-а.
  • Потврђено застаревање скрипти за System V и повећани захтеви (Kernel 5.10+).
  • libsystemd сада учитава екстерне библиотеке користећи dlopen() да би смањио зависности.
  • Чување дневника је сада подразумевано „трајно“.

системд

Након нешто више од три месеца развоја, покретање нова верзија системд 259. Ово ажурирање уводи промене у архитектуру система, истичући отвореност ка алтернативним стандардним библиотекама, ригорозније управљање привилегијама и строже техничке захтеве за будуће верзије.

Један од најпопуларнијих покрета у овом циклусу је прелазак ка већој модуларности и елиминацији наслеђених зависности, отварајући пут за Линукс екосистем који се дефинитивно удаљава од стандарда из прошлих деценија.

Главне нове карактеристике системд 259

Нова верзија systemd-а 259 истиче се као прва верзија која додаје делимичну компатибилност са Musl-ом, популарна стандардна C библиотека у лаким дистрибуцијама и уграђеним окружењима. Ова интеграција Управља се преко libc опције у систему за изградњу Meson. Међутим, пошто Musl не имплементира NSS (Name Service Switch) функционалност, неколико systemd компоненти остаје онемогућено у овој конфигурацији.

Међу азначајни изостанци приликом компајлирања са Musl-ом они су nss-systemd, nss-resolve, systemd-homed, systemd-userdbd и параметар DynamicUserШтавише, није могуће покренути systemd-nspawn без привилегија у овој библиотеци. Програмери су упозорили да ће одржавање ове подршке у будућим верзијама зависити од потражње заједнице и стабилности свих додатних слојева компатибилности који буду развијени.

Још једна нова карактеристика нове верзије је у услужном програму run0, дизајниран као модерна и безбедна алтернатива за судо, који је добио нова опција – оснажити. Ова функција Омогућава вам да се пријавите са повишеним привилегијама. без потребе за променом корисничког идентификатора (UID) у root.

Поред тога, уместо делегирања потпуне контроле путем пребацивања корисника, –empower користи индикаторе могућности језгра, као што је CAP_SYS_ADMIN, да изда строго неопходне дозволе да би се извршили привилеговани системски позиви. Поред тога, резултујући процеси су интегрисани у посебну групу која им даје приступ Polkit акцијама, одржавајући робусније раздвајање привилегија него код традиционалног sudo модела.

Крај једне ере: Збогом Систему V и новим захтевима

systemd 259 означава почетак краја за компатибилност са Скрипте сервиса System VНајављено је да ће у следећој верзији, застареле компоненте као што су systemd-sysv-generator, systemd-rc-local-generator и systemd-sysv-install бити трајно уклоњене.

Уз ово чишћење старог кода, минимални софтверски захтеви за systemd екосистем су значајно повећани:

  • Линукс језгро: Минимална верзија 5.10.
  • Глибц: 2.34.
  • ОпенССЛ: 3.0.0.
  • Утилит-линукс: 2.37.
  • Остало: Пајтон 3.9.0, cryptsetup 2.4.0 и libseccomp 2.4.0.

Модуларност и динамичко учитавање у libsystemd

цомо део иницијативе за смањење зависности директно при покретању, libsystemd сада користи динамичко учитавање путем dlopen() За библиотеке као што су libacl, libblkid, libseccomp, libselinux и libmount, систем ће учитати ове библиотеке у меморију само када су њихове специфичне функције потребне процесу, оптимизујући коришћење ресурса. Поред тога, функционалност libcap је интегрисана директно у libsystemd, поједностављујући ланац зависности.

El Руковање логовима је променило своју подразумевану конфигурацију: режим складиштења дневника (Часопис) промене са „аутоматског“ на „трајно“, без обзира на то да ли је директоријум /var/log/journal претходно постојао.

У области мрежа и виртуелизације:

  • системд-нетворкингд и системд-нспавн: Подршка за NAT правила која користе iptables је уклоњена, остављајући nftables као једину компатибилну опцију.
  • системски решено: Сада дозвољава употребу локалних кукица (hookova) у /run/systemd/resolve.hook/ за интервенцију у захтевима за разрешавање имена.
  • системд-импортд: Логика за рад са TAR датотекама је изворно интегрисана. Штавише, и `importd` и `machined` сада могу да се покрећу на нивоу корисника, што омогућава управљање сликама у локалном директоријуму корисника (`~/.local/state/machines/`).

Остале иновације

API заснован на протоколу Варлинк је добио побољшања која омогућавају приступ подешавањима сервиса и обављање IPC позива. као што су Reload() и Reexecute(). За систем администраторе, укључивање својства OOMKills у сервисе биће веома корисно, јер ће им омогућити да прате колико пута је процес прекинут због недостатка меморије директно из systemd алата.

Коначно, процес покретања система постаје модернији са уклањањем подршке за TPM 1.2 у systemd-boot-у, фокусирајући све безбедносне напоре на TPM 2.0 стандард.

Ако сте заинтересовани да сазнате више о томе, можете консултовати детаљи у следећем линку.