Dostępny menedżer systemu systemd 259

Po trzech miesiącach prac dostępna jest wersja menedżera systemowego systemd 259. Kluczowe zmiany: wsparcie standardowej biblioteki Musl, polecenie „run0 —empower” do wykonywania przywilejowanych działań bez zmiany UID, dynamiczne ładowanie zewnętrznych bibliotek potrzebnych w libsystemd, ignorowanie plików konfiguracyjnych poprzez dodanie do nazwy „.ignore”.

Wśród zmian w nowej wersji:

  • Dodano częściowe wsparcie standardowej biblioteki C Musl, które można włączyć poprzez ustawienie wartości „musl” w opcjach „libc” w systemie budowy Meson. Ze względu na to, że biblioteka Musl nie zapewnia funkcjonalności NSS, przy budowie systemd z Musl niedostępne są komponenty nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd, a także parametr DynamicUser i możliwość nieuprzywilejowanego uruchomienia systemd-nspawn. Twórcy systemd na razie nie gwarantują, że wsparcie dla Musl będzie kontynuowane w przyszłych wydaniach. Decyzja będzie zależała od sukcesu rozwoju warstwy realizującej dodatkową funkcjonalność na Musl, a także od zapotrzebowania projektu oraz zgłoszeń dotyczących specyficznych błędów związanych z Musl.
  • Do narzędzia run0, które jest bezpieczną alternatywą dla programu sudo działającą na bazie systemd-run, dodano opcję „—empower”, która umożliwia uruchomienie nowej sesji z podwyższonymi przywilejami bez przełączania się na użytkownika root. Wykonywanie przywilejowanych działań bez zmiany UID zorganizowano poprzez ustawienie flag capabilities, takich jak CAP_SYS_ADMIN, wystarczających do wywoływania większości przywilejowanych wywołań systemowych. Uruchamiane procesy są również umieszczane w osobnej grupie „empower”, dla której udostępniono dostęp do większości działań Polkit.
  • W następnym wydaniu postanowiono usunąć wsparcie dla skryptów usług w formacie System V. Do usunięcia planowane są komponenty systemd-sysv-install, systemd-rc-local-generator oraz systemd-sysv-generator. W następnym wydaniu planowane jest również zwiększenie wymagań dotyczących minimalnych wersji: jądro 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.
  • W ramach inicjatywy ograniczenia zależności w libsystemd wdrożono dynamiczne ładowanie bibliotek libacl, libblkid, libseccomp, libselinux, libmount za pomocą wywołania dlopen() w sytuacjach, gdy ich funkcje są rzeczywiście potrzebne. Przez dlopen() zrealizowano także współpracę z podsystemem audytu Linuksa oraz z PAM. Funkcjonalność, która wcześniej była wywoływana przez bibliotekę pośrednią libcap, została wbudowana w libsystemd.
  • W systemd-resolved dodano możliwość dołączania lokalnych obsługiwaczy, wywoływanych przy każdym zapytaniu o rozwiązywanie lokalnych nazw. Obsługiwacze są umieszczane w katalogu /run/systemd/resolve.hook/.
  • W bazie danych z danymi o użytkownikach dodano pole UUID, a do narzędzia userdbctl dodano opcję „—uuid” do wyszukiwania według UUID.
  • Zapewniono ignorowanie plików konfiguracyjnych o nazwach kończących się na „.ignore”.
  • W systemd-importd zrealizowano wbudowaną logikę pracy z archiwami TAR, wykorzystującą libarchive zamiast wywołania narzędzia GNU tar. Zrealizowano możliwość uruchamiania systemd-machined i systemd-importd w powiązaniu z użytkownikami, a nie na poziomie systemowym, z ładowaniem obrazów systemowych do ~/.local/state/machines/. Aby wybrać tryb pracy, do narzędzia importctl dodano opcje „—user” i „—system”.
  • Tryb przechowywania dziennika domyślnie zmieniono z ‘auto’ na ‘persistent’ (wcześniej tryb zależał od istnienia katalogu /var/log/journal).
  • W systemd-networkd i systemd-nspawn zaprzestano wspierania tworzenia reguł translacji adresów (NAT) przez iptables/libiptc. Pozostawiono jedynie wsparcie dla nftables.
  • W systemd-boot i systemd-stub zaprzestano wspierania TPM 1.2 (pozostawiono wsparcie dla TPM 2.0).
  • W systemd-machined domyślnie zapewniono montowanie „ukrytych” obrazów dysków, których nazwa zaczyna się od kropki, w trybie tylko do odczytu.
  • Rozbudowano API oparte na protokole Varlink, które teraz może być używane do uzyskiwania dostępu do ustawień usług. Zrealizowano wywołania IPC Reload() i Reexecute(). Dodano wywołania do uzyskiwania dostępu do funkcjonalności i ustawień systemd-repart, systemd-resolved oraz systemd-networkd.
  • Dodano ustawienie ExecReloadPost, które umożliwia uruchamianie poleceń po ponownym załadowaniu konfiguracji usługi.
  • Dla usług wprowadzono właściwości OOMKills i ManagedOOMKills, zawierające liczbę procesów, które zostały wymuszone do zakończenia przez jądro lub systemd-oomd z powodu braku pamięci.
  • Dla tymczasowych usług dodano właściwość RootDirectoryFileDescriptor, która określa uchwyt pliku katalogu głównego.
  • Dodano ustawienie UserNamespacePath, umożliwiające powiązanie jednostki z przestrzenią identyfikatorów użytkowników (user namespace) poprzez wskazanie ścieżki w pseudo-systemie plików /proc, analogicznie do ustawień IPCNamespacePath i NetworkNamespacePath. W systemd-nspawn dodano ustawienie NamespacePath w sekcji [Network] plików .nspawn w celu określenia sieciowej przestrzeni nazw.
  • W systemd-sysext i systemd-confext wprowadzono obsługę oddzielnych plików konfiguracyjnych /etc/systemd/systemd-sysext.conf i /etc/systemd/systemd-confext.conf. Dodano możliwość użycia zmiennej środowiskowej SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS oraz $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS do konfiguracji opcji montowania Overlayfs.
  • W systemd-udevd dodano ustawienie OPTIONS="dump-json" do wyjścia stanu bieżącego zdarzenia w formacie JSON. W funkcji net_id wprowadzono generację przewidywalnych nazw interfejsów sieci bezprzewodowej na systemach z DeviceTree. Zapewniono generację symbolicznych linków /dev/gpio/by-id/... dla urządzeń GPIO.
  • Do polecenia „homectl update” dodano możliwość użycia opcji „—recovery-key” w celu dodania zapasowych kluczy do istniejącego konta użytkownika (wcześniej takie klucze mogły być dodawane tylko podczas tworzenia użytkownika).
  • W systemd-homed dodano opcje „—prompt-shell” i „—prompt-groups” do interaktywnego wyboru powłoki i grupy podczas pierwszego uruchomienia przy użyciu usługi systemd-homed-firstboot.service. W systemd-firstboot dodano opcję „—prompt-keymap-auto” do zapytania o układ klawiatury podczas pracy przez lokalny terminal podczas pierwszego uruchomienia.
  • W systemd-boot dodano możliwość ustawienia poziomu szczegółowości logów za pośrednictwem parametru log-level w loader.conf lub pola SMBIOS io.systemd.boot.loglevel.
  • W systemd-networkd dla serwera DHCP dodano opcje EmitDomain i Domain, a także zaimplementowano obsługę do określania nazw hostów przydzielanych przez DHCP poprzez DNS-resolving.
  • W systemd-run dodano opcję „—root-directory” do uruchamiania usługi w określonym katalogu głównym. W systemd-run i run0 dodano opcję „—same-root-dir” („-R”) do uruchamiania usługi w tym samym katalogu głównym, co uruchamiający.
  • W systemd-modules-load wprowadzono równoległe ładowanie modułów jądra.
  • W systemd-integrity-setup dodano wsparcie dla algorytmów HMAC-SHA256, PHMAC-SHA256 i PHMAC-SHA512.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster