Достъпен е системният мениджър systemd 259

След като три месеца разработка, е наличен релиз на системния мениджър systemd 259. Основни промени: поддръжка на стандартната библиотека Musl, команда „run0 —empower“ за изпълнение на привилегировани действия без смяна на UID, динамично зареждане на външни библиотеки, необходими в libsystemd, игнориране на конфигурационни файлове чрез добавяне на „.ignore“ към името.

Сред промените в новото издание:

  • Добавена е частична поддръжка на стандартната C библиотека Musl, активирана чрез задаване на стойност „musl“ в опцията „libc“ в системата за компилация Meson. Тъй като библиотеката Musl не предоставя функционалност NSS, при компилиране на systemd с Musl не са налични компонентите nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd, както и параметърът DynamicUser и възможността за непривилегировано стартиране на systemd-nspawn. Разработчиците на systemd все още не гарантират, че поддръжката на Musl ще остане в бъдещите версии. Решението ще зависи от успешността на развитието на прослойката, реализираща допълнителна функционалност над Musl, както и от търсенето на проекта и докладите за специфични за Musl грешки.
  • В утилитата run0, представена като безопасна замяна на програмата sudo, работеща над systemd-run, е добавена опцията „—empower“, която позволява стартиране на нова сесия с повишени привилегии, без да се превключва към потребителя root. Изпълнението на привилегировани действия без смяна на UID е организирано чрез задаване на capabilities-флагове, като CAP_SYS_ADMIN, достатъчни за достъп до повечето привилегировани системни повиквания. Стартираните процеси също се поставят в отделна група „empower“, за която е предоставен достъп до повечето действия Polkit.
  • Решено е да се премахне поддръжката на скриптове за услуги във формат System V в следващия релиз. За премахване са предвидени компонентите systemd-sysv-install, systemd-rc-local-generator и systemd-sysv-generator. В следващия релиз също ще се повишат изискванията за минимални версии: ядро Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0, libxcrypt 4.4.0, util-linux 2.37, elfutils 0.177, cryptsetup 2.4.0, libseccomp 2.4.0.
  • В рамките на инициативата за намаляване на зависимостите в libsystemd е реализирано динамично зареждане на библиотеките libacl, libblkid, libseccomp, libselinux и libmount чрез извикване на dlopen() в ситуации, когато функциите им действително са необходими. Чрез dlopen() е реализирана и работа с подсистемата за одит на Linux и с PAM. Функционалността, която преди това се извикваше през библиотеката-прослойка libcap, е вградена в libsystemd.
  • В systemd-resolved е добавена възможността за прикрепване на локални обработващи функции, които се извикват при всяка заявка за резолвиране на локални имена. Обработвачите се поставят в директорията /run/systemd/resolve.hook/.
  • В базата данни с данни за потребителите е добавено поле UUID, а в утилитата userdbctl е добавена опция «—uuid» за търсене по UUID.
  • Обезпечено е игнориране на конфигурационни файлове с имена, завършващи на «.ignore».
  • В systemd-importd е реализирана вградена логика за работа с TAR архиви, използваща libarchive вместо извикването на утилитата GNU tar. Реализирана е възможността за стартиране на systemd-machined и systemd-importd, свързани с потребители, а не на системно ниво, с зареждане на системните образи в ~/.local/state/machines/. За избор на режим на работа в утилитата importctl са добавени опции «—user» и «—system».
  • Режимът на съхранение на журнала по подразбиране е променен от ‘auto’ на ‘persistent’ (вече режимът зависи от наличието на директория /var/log/journal).
  • В systemd-networkd и systemd-nspawn е прекратена поддръжката на създаване на правила за транслация на адреси (NAT) чрез iptables/libiptc. Остава само поддръжката на nftables.
  • В systemd-boot и systemd-stub е преустановена поддръжката на TPM 1.2 (оставена е поддръжката на TPM 2.0).
  • В systemd-machined по подразбиране е осигурено монтиране на «скрити» дискови образи, чиито имена започват с точка, в режим само за четене.
  • API на базата на протокола Varlink е разширен, което сега може да се използва за достъп до настройките на услугите. Реализирани са IPC извикванията Reload() и Reexecute(). Добавени са извиквания за достъп до функционалността и настройките на systemd-repart, systemd-resolved и systemd-networkd.
  • Добавена е настройка ExecReloadPost, която позволява организирането на стартиране на команди след презареждане на конфигурацията на услугата.
  • За услугите са реализирани свойствата OOMKills и ManagedOOMKills, които съдържат брой на процесите, принудително спрени от ядрото или systemd-oomd заради недостиг на памет.
  • За времевите услуги е добавено свойство RootDirectoryFileDescriptor, определящо файловия дескриптор на коренната директория.
  • Добавена настройка UserNamespacePath, позволяваща свързването на unit с пространството на идентификаторите на потребителите (user namespace) чрез указване на път в псевдо-ФС /proc, по аналогия с настройките IPCNamespacePath и NetworkNamespacePath. В systemd-nspawn за указване на мрежовото пространство на имена в секция [Network] на файловете .nspawn е добавена настройка NamespacePath.
  • В systemd-sysext и systemd-confext е реализирана поддръжка на отделни конфигурационни файлове /etc/systemd/systemd-sysext.conf и /etc/systemd/systemd-confext.conf. Добавена е възможността за използване на променлива на средата SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS и $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS за настройка на параметрите за монтиране на Overlayfs.
  • В systemd-udevd е добавена настройка OPTIONS=»dump-json» за извеждане на състоянието на текущото събитие в JSON формат. В функцията net_id е реализирана генерация на предсказуеми имена на безжични мрежови интерфейси на системи с DeviceTree. Осигурена е генерация на символични линкове /dev/gpio/by-id/... за GPIO устройства.
  • В командата «homectl update» е добавена възможността за използване на опция «—recovery-key» за добавяне на резервни ключове към съществуваща потребителска сметка (по-рано подобни ключове можеха да бъдат добавяни само при създаването на потребител).
  • В systemd-homed са добавени опции «—prompt-shell» и «—prompt-groups» за интерактивен избор на командна обвивка и група по време на първоначално зареждане с използване на услугата systemd-homed-firstboot.service. В systemd-firstboot е добавена опция «—prompt-keymap-auto» за запитване на разположението на клавиатурата при работа през локалната конзола по време на първоначално зареждане.
  • В systemd-boot е добавена възможност за задаване на нивото на детайлност на логовете чрез параметъра log-level в loader.conf или полето SMBIOS io.systemd.boot.loglevel.
  • В systemd-networkd за DHCP сървъра са добавени опции EmitDomain и Domain, а също така е реализиран обработчик за определяне на имената на хостовете, предавани чрез DHCP, чрез DNS резолвинг.
  • В systemd-run е добавена опция «—root-directory» за стартиране на услугата в указан коренен каталог. В systemd-run и run0 е добавена опция «—same-root-dir» («-R») за стартиране на услугата в същия коренен каталог, който е на стартиращия.
  • В systemd-modules-load е реализирано паралелизиране на зареждането на модулите на ядрото.
  • В systemd-integrity-setup е добавена поддръжка на алгоритми HMAC-SHA256, PHMAC-SHA256 и PHMAC-SHA512.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster