След пет месеца разработка релиз на системен мениджър . В новото издание е реализирана поддръжка на замразяване на юнити, възможност за верификация на образа на основния диск по цифров подпис, поддръжка на компресия на журнала и core-дъмпове с използване на алгоритъма ZSTD, възможност за отключване на преносими домашни каталози с помощта на токени FIDO2, както и поддръжка за отключване на дялове на Microsoft BitLocker чрез /etc/crypttab, проведено е преименуването на BlackList в DenyList.
Основни :
- Добавена е поддръжка за контролера на ресурсите freezer на базата на cgroups v2, с помощта на който може да се спре работата на процеси и временно да се освободят някои ресурси (CPU, вход/изход и потенциално дори памет) за изпълнение на други задачи. Управлението на замразяването и размразяването на юнитите се осъществява с помощта на новата команда «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-дъмповете) и
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 е добавена настройка IPv4AcceptLocal в секцията «[Network]» за разрешаване на приемането на пакети на мрежовия интерфейс, идващи от локален изходящ адрес.
- В 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. В backend на 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
