Версия на системния мениджър systemd 246

След пет месеца разработка представен пускането на системния мениджър systemd 246. В новото издание е реализирана поддръжка на замразяване на unit-ите, възможност за верификация на образа на основния диск по цифров подпис, поддръжка на компресия на журнала и core-dump-ове с използване на алгоритъма ZSTD, възможност за отключване на преносими домашни директории с помощта на токени FIDO2, поддръжка на отключване на дялове на Microsoft BitLocker чрез /etc/crypttab, извършено преименуване на BlackList в DenyList.

Основни промени:

  • Добавена е поддръжка за контролера на ресурсите freezer на база cgroups v2, с помощта на който могат да бъдат спирани процеси и временно освобождавани някои ресурси (CPU, вход/изход и дори потенциално памет) за изпълнение на други задачи. Управлението на замразяването и размразяването на unit-ите се осъществява с новата команда „systemctl freeze“ или чрез D-Bus.
  • Добавена е поддръжка за верификация на образа на основния диск по цифров подпис. Проверка се извършва с помощта на нови настройки в сервисните юнити: RootHash (основен хэш за верификация на дисковия образ, посочен чрез опцията RootImage) и RootHashSignature (цифров подпис в формат PKCS#7 за основния хэш).
  • В обработчика PID 1 е реализирана възможността за автоматично зареждане на предварително компилирани правила AppArmor (/etc/apparmor/earlypolicy) в началния етап на зареждане.
  • Добавени са нови настройки на unit-файловете: ConditionPathIsEncrypted и AssertPathIsEncrypted за проверка на наличието на указан път на блочно устройство, в което се използва шифроване (dm-crypt/LUKS), ConditionEnvironment и AssertEnvironment за проверка на променливи на средата (например, зададени от PAM или при настройка на контейнери).
  • За юнитите *.mount е реализирана настройка ReadWriteOnly, която забранява монтажа на дял в режим само за четене, ако не е успяло да се монтира за четене и запис. В /etc/fstab този режим се настройва с опцията „x-systemd.rw-only“.
  • За юнитите *.socket е добавена настройка PassPacketInfo, която включва добавяне от ядрото на допълнителни метаданни за всеки пакет, четещ се от сокета (включва режимите IP_PKTINFO, IPV6_RECVPKTINFO и NETLINK_PKTINFO за сокета).
  • За услугите (юнити *.service) са предложени настройки CoredumpFilter (определя секции на паметта, които трябва да бъдат включени в core-dump-овете) и
    TimeoutStartFailureMode/TimeoutStopFailureMode (определя поведението (SIGTERM, SIGABRT или SIGKILL) при настъпване на таймаут при стартиране или спиране на услугата).
  • В повечето опции е добавена поддръжка за указване на шестнадесетични стойности, зададени чрез префикса «0x».
  • В различни параметри на командния ред и конфигурационни файлове, свързани с настройването на ключове или сертификати, е реализирана възможността за указване на пътя към unix-сокетите (AF_UNIX) за предаване на ключове и сертификати чрез обращения към IPC-сервизи, когато не е желателно разполагането на сертификати на незашифровани дискови хранилища.
  • Добавена е поддръжка на шест нови спецификатора, които могат да се използват в unit-ите, tmpfiles.d/, sysusers.d/ и други конфигурационни файлове: %a за подмяна на текущата архитектура, %o/%w/%B/%W за подмяна на полета с идентификатори от /etc/os-release и %l за подмяна на краткото име на хоста.
  • В unit-файловете е прекратена поддръжката на синтаксиса «.include», който бе обявен за остарял преди 6 години.
  • В настройките на StandardError и StandardOutput е прекратена поддръжката на стойностите «syslog» и «syslog-console», които ще бъдат автоматично конвертирани в «journal» и «journal+console».
  • За автоматично създадените точки за монтиране на базата на tmpfs (/tmp, /run, /dev/shm и т.н.) е осигурено поставянето на лимити на размера и броя на inode, съответстващи на 50% от размера на RAM за /tmp и /dev/shm, и 10% от RAM за всички останали.
  • Добавени са нови параметри на командния ред на ядрото: systemd.hostname за задаване на името на хоста в началните етапи на зареждане, udev.blockdev_read_only за ограничаване на всички свързани с физически носители блокови устройства в режим само за четене (за изборно отменяне може да се използва командата «blockdev —setrw»), systemd.swap за деактивиране на автоматичната активация на раздела за разменна памет, systemd.clock-usec за задаване на системните часовници в микросекунди, systemd.condition-needs-update и systemd.condition-first-boot за преобръщане на проверките ConditionNeedsUpdate и ConditionFirstBoot.
  • По подразбиране е осигурена настройката на sysctl fs.suid_dumpable в стойност 2 («suidsafe»), което позволява запазването на core-дампове за процеси с флага suid.
  • В БД на оборудването от ChromiumOS е заимстван файлът /usr/lib/udev/hwdb.d/60-autosuspend.hwdb, включващ информация за PCI и USB устройства, които поддържат автоматичен преход в режим на заспиване.
  • В networkd.conf е добавена настройката ManageForeignRoutes, при активиране на която systemd-networkd ще започне да управлява всички маршрути, настроени от други инструменти.
  • В .network файловете е добавена секция «[SR-IOV]» за конфигуриране на мрежови устройства, които поддържат SR-IOV (Single Root I/O Virtualization).
  • В systemd-networkd в секцията «[Network]» е добавена настройка IPv4AcceptLocal за разрешаване на получаване на пакети на мрежовия интерфейс, идващи от локален изходящ адрес.
  • В systemd-networkd е добавена възможност за конфигуриране на дисциплините за приоритизиране на трафика HTB чрез секциите [HierarchyTokenBucket] и
    [HierarchyTokenBucketClass], «pfifo» чрез [PFIFO], «GRED» чрез [GenericRandomEarlyDetection], «SFB» чрез [StochasticFairBlue], «cake»
    чрез [CAKE], «PIE» чрез [PIE], «DRR» чрез [DeficitRoundRobinScheduler] и
    [DeficitRoundRobinSchedulerClass], «BFIFO» чрез [BFIFO],
    «PFIFOHeadDrop» чрез [PFIFOHeadDrop], «PFIFOFast» чрез [PFIFOFast], «HHF»
    чрез [HeavyHitterFilter], «ETS» чрез [EnhancedTransmissionSelection],
    «QFQ» чрез [QuickFairQueueing] и [QuickFairQueueingClass].
  • В systemd-networkd в секцията [DHCPv4] е добавена настройка UseGateway за деактивиране на приложението на информацията за шлюза, получена чрез DHCP.
  • В systemd-networkd в секциите [DHCPv4] и [DHCPServer] е добавена настройка SendVendorOption за задаване и обработка на допълнителни опции на производителя.
  • В systemd-networkd в секцията [DHCPServer] е реализиран нов набор от опции EmitPOP3/POP3, EmitSMTP/SMTP и EmitLPR/LPR за добавяне на информация за POP3, SMTP и LPR сървъри.
  • В systemd-networkd в .netdev файловете в секцията [Bridge] е добавена настройка VLANProtocol за избор на използвания VLAN протокол.
  • В systemd-networkd в .network файловете в секцията [Link] е реализирана настройка Group за управление на група линкове.
  • Настройките BlackList са променени на DenyList (за осигуряване на обратно съвместимост обработката на старото име е запазена).
  • В systemd-networkd е добавен голям брой настройки, свързани с IPv6 и DHCPv6.
  • В networkctl е добавена команда «forcerenew» за принудително обновяване на всички адресни наемни отношения (lease).
  • В systemd-resolved в настройката DNS е добавена възможност за указване на номер на порт и име на хост за верификация на сертификата DNS-over-TLS. В реализацията на DNS-over-TLS е добавена поддръжка за проверка на SNI.
  • В systemd-resolved е добавена възможност за конфигуриране на пренасочване на единични DNS имена (single-label, от едно име на хост).
  • В systemd-journald е осигурена поддръжка за прилагане на алгоритъм zstd за компресиране на големи полета в журналите. Извършена е работа по защита от възникване на колизии в хеш-таблиците, използвани в журналите.
  • В journalctl при извеждане на съобщения от журнала са добавени кликаеми URL адреси със ссылки към документацията.
  • В journald.conf е добавена настройка Audit за управление на включването на аудита по време на инициализацията на systemd-journald.
  • В systemd-coredump е добавена възможност за компресиране на core-дампове с помощта на алгоритъма zstd.
  • В systemd-repart е добавена настройка UUID за назначаване на UUID на създаденото разделение.
  • В услугата systemd-homed, която осигурява управление на преносими домашни директории, е добавена възможност за отключване на домашните директории с помощта на токени FIDO2. В бекенда за шифроване на LUKS е добавена поддръжка за автоматично връщане на празни блокове от файловата система при приключване на сесията. Добавена е защита срещу двойно шифроване на данни, ако е определено, че за раздела /home в системата вече се прилага шифроване.
  • В /etc/crypttab са добавени настройки: «keyfile-erase» за изтриване на ключа след използване и «try-empty-password» за опит за отключване на раздела с празна парола преди запитване за парола от потребителя (полезно за инсталиране на криптирани изображения с назначаване на парола след първото зареждане, а не по време на инсталацията).
  • В systemd-cryptsetup по време на зареждане е реализирана поддръжка за отключване на раздели на Microsoft BitLocker с помощта на /etc/crypttab. Също така е добавена възможност за четене
    на ключовете за автоматично отключване на раздели от файловете /etc/cryptsetup-keys.d/.key и /run/cryptsetup-keys.d/.key.
  • Добавен е генератор systemd-xdg-autostart-generator за създаване на unit-файлове от файлове за автоматичен старт .desktop.
  • В «bootctl» е добавена команда «reboot-to-firmware».
  • В systemd-firstboot са добавени опции: «—image» за указване на дисковия образ за зареждане, «—kernel-command-line» за инициализиране на файла /etc/kernel/cmdline, «—root-password-hashed» за задаване на хеша на паролата на root и «—delete-root-password» за премахване на паролата на root.

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

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