Po pięciu miesiącach prac rozwojowych premiera menedżera systemowego . W nowym wydaniu dodano wsparcie dla zamrażania jednostek, możliwość weryfikacji obrazu głównego dysku za pomocą podpisu cyfrowego, wsparcie dla kompresji dziennika oraz zrzutów rdzeniowych za pomocą algorytmu ZSTD, możliwość odblokowywania przenośnych katalogów domowych przy użyciu tokenów FIDO2, wsparcie dla odblokowywania partycji Microsoft BitLocker przez /etc/crypttab, dokonano zmiany nazwy BlackList na DenyList.
Podstawowe :
- Dodano wsparcie dla kontrolera zasobów freezer opartego na cgroups v2, za pomocą którego można zatrzymać działanie procesów i tymczasowo zwolnić niektóre zasoby (CPU, I/O, a potencjalnie nawet pamięć) do wykonania innych zadań. Zarządzanie zamrażaniem i odmrażaniem jednostek odbywa się za pomocą nowej komendy «systemctl freeze» lub przez D-Bus.
- Dodano wsparcie dla weryfikacji obrazu głównego dysku za pomocą podpisu cyfrowego. Weryfikacja odbywa się za pomocą nowych ustawień w jednostkach serwisowych: RootHash (główny hash do weryfikacji obrazu dysku, określony za pomocą opcji RootImage) oraz RootHashSignature (podpis cyfrowy w formacie PKCS#7 dla głównego hasha).
- W obsłudze PID 1 dodano możliwość automatycznego ładowania wstępnie skompilowanych reguł AppArmor (/etc/apparmor/earlypolicy) na wczesnym etapie uruchamiania.
- Dodano nowe ustawienia dla plików jednostek: ConditionPathIsEncrypted oraz AssertPathIsEncrypted do sprawdzenia, czy wskazana ścieżka znajduje się na urządzeniu blokowym, gdzie używane jest szyfrowanie (dm-crypt/LUKS), ConditionEnvironment oraz AssertEnvironment do sprawdzenia zmiennych środowiskowych (na przykład ustawianych przez PAM lub podczas konfigurowania kontenerów).
- Dla jednostek *.mount dodano ustawienie ReadWriteOnly, które zabrania montowania partycji w trybie tylko do odczytu, jeśli nie udało się zamontować jej w trybie odczytu i zapisu. W /etc/fstab ten tryb konfiguruje się za pomocą opcji «x-systemd.rw-only».
- Dla jednostek *.socket dodano ustawienie PassPacketInfo, które włącza dodawanie przez jądro dodatkowych metadanych dla każdego pakietu odczytywanego z gniazda (w tym tryby IP_PKTINFO, IPV6_RECVPKTINFO oraz NETLINK_PKTINFO dla gniazda).
- Dla usług (jednostki *.service) zaproponowano ustawienia CoredumpFilter (określa sekcje pamięci, które należy uwzględnić w zrzutach rdzeniowych) oraz
TimeoutStartFailureMode/TimeoutStopFailureMode (określa zachowanie (SIGTERM, SIGABRT lub SIGKILL) w przypadku wystąpienia przekroczenia czasu przy uruchamianiu lub zatrzymywaniu usługi). - W większości opcji dodano obsługę wskazywania wartości szesnastkowych z prefiksem „0x”.
- W różnych parametrach wiersza poleceń i w plikach konfiguracyjnych związanych z konfiguracją kluczy lub certyfikatów wprowadzono możliwość wskazywania ścieżki do gniazd unixowych (AF_UNIX) do przesyłania kluczy i certyfikatów za pośrednictwem usług IPC, gdy nie jest wskazane umieszczanie certyfikatów w nieszyfrowanych magazynach dyskowych.
- Dodano obsługę sześciu nowych specyfikatorów, które można używać w jednostkach, tmpfiles.d/, sysusers.d/ i innych plikach konfiguracyjnych: %a do podstawienia bieżącej architektury, %o/%w/%B/%W do podstawienia pól z identyfikatorami z /etc/os-release oraz %l do podstawienia krótkiej nazwy hosta.
- W plikach jednostek zaprzestano obsługi składni „.include”, która została uznana za przestarzałą 6 lat temu.
- W ustawieniach StandardError i StandardOutput zaprzestano obsługi wartości „syslog” i „syslog-console”, które będą automatycznie konwertowane na „journal” i „journal+console”.
- Dla automatycznie tworzonych punktów montowania na podstawie tmpfs (/tmp, /run, /dev/shm itp.) zapewniono ustawienie limitów dotyczących rozmiaru i liczby inode, odpowiadających 50% rozmiaru RAM dla /tmp i /dev/shm oraz 10% RAM dla wszystkich pozostałych.
- Dodano nowe parametry w wierszu poleceń jądra: systemd.hostname do ustawienia nazwy hosta na wczesnym etapie uruchamiania, udev.blockdev_read_only do ograniczenia wszystkich związanych z fizycznymi nośnikami urządzeń blokowych tylko do trybu odczytu (do selektywnej anulacji można użyć polecenia „blockdev —setrw”), systemd.swap do wyłączenia automatycznej aktywacji partycji swap, systemd.clock-usec do ustawienia zegarów systemowych w mikrosekundach, systemd.condition-needs-update oraz systemd.condition-first-boot do nadpisania kontroli ConditionNeedsUpdate i ConditionFirstBoot.
- Domyślnie zapewniono ustawienie sysctl fs.suid_dumpable na wartość 2 („suidsafe”), zezwalającą na zachowanie zrzutów rdzeni dla procesów z flagą suid.
- Z bazy danych sprzętu ChromiumOS zaimportowano plik /usr/lib/udev/hwdb.d/60-autosuspend.hwdb, zawierający informacje o urządzeniach PCI i USB, które obsługują automatyczne przejście w tryb uśpienia.
- W networkd.conf dodano ustawienie ManageForeignRoutes, po włączeniu którego systemd-networkd zacznie zarządzać wszystkimi trasami skonfigurowanymi przez inne narzędzia.
- Do plików .network dodano sekcję „[SR-IOV]” do konfiguracji urządzeń sieciowych obsługujących SR-IOV (Single Root I/O Virtualization).
- Do systemd-networkd dodano do sekcji „[Network]” ustawienie IPv4AcceptLocal, które pozwala na odbieranie pakietów z lokalnym adresem źródłowym na interfejsie sieciowym.
- W systemd-networkd dodano możliwość konfigurowania dyscyplin priorytetów ruchu HTB przez sekcje [HierarchyTokenBucket] i
[HierarchyTokenBucketClass], „pfifo” przez [PFIFO], „GRED” przez [GenericRandomEarlyDetection], „SFB” przez [StochasticFairBlue], „cake”
przez [CAKE], „PIE” przez [PIE], „DRR” przez [DeficitRoundRobinScheduler] i
[DeficitRoundRobinSchedulerClass], „BFIFO” przez [BFIFO],
„PFIFOHeadDrop” przez [PFIFOHeadDrop], „PFIFOFast” przez [PFIFOFast], „HHF”
przez [HeavyHitterFilter], „ETS” przez [EnhancedTransmissionSelection],
„QFQ” przez [QuickFairQueueing] i [QuickFairQueueingClass]. - W systemd-networkd w sekcji [DHCPv4] dodano ustawienie UseGateway do wyłączenia zastosowania informacji o bramie uzyskanej przez DHCP.
- W systemd-networkd w sekcjach [DHCPv4] i [DHCPServer] dodano ustawienie SendVendorOption do ustalania i przetwarzania dodatkowych opcji producenta.
- W systemd-networkd w sekcji [DHCPServer] wprowadzono nowy zestaw opcji EmitPOP3/POP3, EmitSMTP/SMTP i EmitLPR/LPR do dodawania informacji o serwerach POP3, SMTP i LPR.
- W systemd-networkd w plikach .netdev w sekcji [Bridge] dodano ustawienie VLANProtocol do wyboru używanego protokołu VLAN.
- W systemd-networkd w plikach .network w sekcji [Link] wprowadzono ustawienie Group do zarządzania grupą linków.
- Ustawienia BlackList zmieniono na DenyList (dla zapewnienia zgodności wstecznej przetwarzanie starej nazwy zostało zachowane).
- W systemd-networkd dodano dużą porcję ustawień związanych z IPv6 i DHCPv6.
- W networkctl dodano polecenie „forcerenew” do wymuszenia aktualizacji wszystkich przydziałów adresów (lease).
- W systemd-resolved w ustawieniu DNS dodano możliwość podania numeru portu i nazwy hosta do weryfikacji certyfikatu DNS-over-TLS. W implementacji DNS-over-TLS dodano wsparcie dla weryfikacji SNI.
- W systemd-resolved dodano możliwość konfiguracji przekierowania jednoelementowych nazw DNS (single-label, z jednego nazwy hosta).
- W systemd-journald wprowadzono wsparcie dla zastosowania algorytmu zstd do kompresji dużych pól w logach. Udoskonalono ochronę przed występowaniem kolizji w tablicach haszujących używanych w logach.
- W journalctl przy wyświetlaniu wiadomości logów dodano klikalne adresy URL z linkami do dokumentacji.
- W pliku journald.conf dodano opcję Audit do zarządzania włączeniem audytu w procesie inicjalizacji systemd-journald.
- W systemd-coredump dodano możliwość kompresji zrzutów pamięci za pomocą algorytmu zstd.
- W systemd-repart dodano opcję UUID do przypisywania UUID nowo utworzonej partycji.
- W usłudze systemd-homed, która zarządza przenośnymi katalogami domowymi, dodano możliwość odblokowywania katalogów domowych za pomocą tokenów FIDO2. Do backendu szyfrowania partycji LUKS dodano wsparcie dla automatycznego zwracania pustych bloków systemu plików po zakończeniu sesji. Dodano ochronę przed podwójnym szyfrowaniem danych, jeśli stwierdzono, że dla partycji /home w systemie już stosowane jest szyfrowanie.
- W /etc/crypttab dodano ustawienia: «keyfile-erase» do usuwania klucza po użyciu oraz «try-empty-password» do próby odblokowania partycji przy użyciu pustego hasła przed zapytaniem użytkownika o hasło (przydatne do instalacji zaszyfrowanych obrazów z przypisaniem hasła po pierwszym uruchomieniu, a nie w trakcie instalacji).
- W systemd-cryptsetup podczas uruchamiania zrealizowano wsparcie dla odblokowywania partycji Microsoft BitLocker przy użyciu /etc/crypttab. Dodano również możliwość odczytu
kluczy do automatycznego odblokowywania partycji z plików /etc/cryptsetup-keys.d/.key i /run/cryptsetup-keys.d/.key. - Dodano generator systemd-xdg-autostart-generator do tworzenia plików jednostek z plików autostartu .desktop.
- W «bootctl» dodano polecenie «reboot-to-firmware».
- W systemd-firstboot dodano opcje: «—image» do wskazania obrazu dysku do załadowania, «—kernel-command-line» do inicjalizacji pliku /etc/kernel/cmdline, «—root-password-hashed» do ustawienia hasha hasła root oraz «—delete-root-password» do usunięcia hasła root.
Źródło: opennet.ru
