Veröffentlichung des Systemmanagers systemd 250

Nach fünf Monaten Entwicklungszeit wurde die Version des Systemmanagers systemd 250 veröffentlicht. In diesem Release gibt es nun die Möglichkeit, Anmeldedaten in verschlüsselter Form zu speichern, die Verifizierung automatisch erkannter GPT-Partitionen durch digitale Signaturen wurde eingeführt, die Informationen über Verzögerungsursachen beim Start von Diensten wurden verbessert, Optionen zur Einschränkung des Zugriffs von Diensten auf bestimmte Dateisysteme und Netzwerkschnittstellen wurden hinzugefügt, und die Unterstützung für die Integritätskontrolle von Partitionen durch das Modul dm-integrity wurde gewährleistet, zudem wurde die Unterstützung für die automatische Aktualisierung von sd-boot hinzugefügt.

Wesentliche Änderungen:

  • Die Unterstützung für verschlüsselte und authentifizierte Anmeldedaten wurde hinzugefügt, was nützlich sein kann für die sichere Speicherung vertraulicher Materialien wie SSL- Schlüssel und Zugangspasswörter. Die Entschlüsselung der Anmeldeinformationen erfolgt nur bei Bedarf und in Verbindung mit der lokalen Installation oder Hardware. Die Daten werden automatisch mit symmetrischen Verschlüsselungsalgorithmen verschlüsselt, deren Schlüssel im Dateisystem, im TPM2-Chip oder in Kombination mit einem anderen Schema gespeichert werden kann. Bei der Aktivierung des Dienstes werden die Anmeldeinformationen automatisch entschlüsselt und dem Dienst in normaler Form zur Verfügung gestellt. Für den Umgang mit verschlüsselten Anmeldeinformationen wurde das Tool 'systemd-creds' hinzugefügt, und für die Dienste stehen die Einstellungen LoadCredentialEncrypted und SetCredentialEncrypted zur Verfügung.
  • Im sd-stub, der ausführbare Datei für EFI, wurde die Unterstützung für das Laden des Linux-Kernels über das EFI-Protokoll LINUX_EFI_INITRD_MEDIA_GUID hinzugefügt. Außerdem wurde im sd-stub die Möglichkeit integriert, Anmeldeinformationen und sysext-Dateien in einem cpio-Archiv zu packen und dieses Archiv zusammen mit dem initrd an den Kernel zu übergeben (zusätzliche Dateien werden im Verzeichnis /.extra/ abgelegt). Diese Funktionalität ermöglicht die Nutzung einer verifizierbaren, unveränderlichen initrd-Umgebung, die durch sysexts und verschlüsselte Daten zur Authentifizierung ergänzt wird.
  • Die Spezifikation Discoverable Partitions wurde erheblich erweitert und bietet nun Mittel zur Identifizierung, Montage und Aktivierung von Systempartitionen, die GPT (GUID Partition Tables) verwenden. Im Vergleich zu früheren Versionen unterstützt die Spezifikation für die meisten Architekturen jetzt Root-Partitionen und die /usr-Partition, auch für Plattformen, die kein UEFI verwenden.

    In Discoverable Partitions wurde auch die Unterstützung für Partitionen eingeführt, deren Integrität durch das dm-verity-Modul mithilfe von PKCS#7 digitalen Signaturen überprüft wird. Dies vereinfacht die Erstellung vollständig authentifizierter Disk-Images. Die Verifizierung ist in verschiedene Tools integriert, die mit Disk-Images arbeiten, darunter systemd-nspawn, systemd-sysext, systemd-dissect, RootImage-Dienste, systemd-tmpfiles und systemd-sysusers.

  • Für Unit-Modelle, die lange starten oder stoppen, wurde zusätzlich zur Anzeige eines animierten Fortschrittsbalkens die Möglichkeit hinzugefügt, Statusinformationen anzuzeigen. Dies ermöglicht es, besser zu verstehen, was gerade mit dem Dienst passiert und auf welchen Dienst der Systemmanager derzeit wartet, um die Ausführung abzuschließen.
  • In der Datei /etc/systemd/system.conf und /etc/systemd/user.conf wurde der Parameter DefaultOOMScoreAdjust hinzugefügt. Dieser ermöglicht die Anpassung der Schwelle für den OOM-Killer bei Speichermangel, die auf Prozesse angewendet wird, die systemd für das System und die Benutzer startet. Standardmäßig haben systemdienste eine höhere Gewichtung als Benutzerdienste, wodurch bei Speichermangel die Wahrscheinlichkeit höher ist, dass Benutzerdienste beendet werden als systemdienste.
  • Die Einstellung RestrictFileSystems wurde hinzugefügt, um den Zugriff von Diensten auf bestimmte Dateisystemtypen einzuschränken. Sie können den Befehl „systemd-analyze filesystems“ verwenden, um verfügbare FS-Typen anzuzeigen. Analog dazu wurde die Option RestrictNetworkInterfaces implementiert, um den Zugriff auf bestimmte Netzwerk-Interfaces zu beschränken. Die Implementierung basiert auf dem BPF-LSM-Modul, das den Zugriff einer Prozessgruppe auf Kernelobjekte einschränkt.
  • Eine neue Konfigurationsdatei /etc/integritytab und das Dienstprogramm systemd-integritysetup wurden hinzugefügt, um das Modul dm-integrity für die Überprüfung der Datenintegrität auf der Ebene einzelner Sektoren zu konfigurieren, um beispielsweise die Unveränderlichkeit verschlüsselter Daten zu gewährleisten (Authenticated Encryption garantiert, dass ein Datenblock nicht umgangen und modifiziert wurde). Das Format der Datei /etc/integritytab ähnelt den Dateien /etc/crypttab und /etc/veritytab, mit dem Unterschied, dass anstelle von dm-crypt und dm-verity dm-integrity verwendet wird.
  • Eine neue unit-Datei, systemd-boot-update.service, wurde hinzugefügt. Bei Aktivierung dieser Datei und bei vorhandenem Bootloader sd-boot aktualisiert systemd automatisch die Version des sd-boot-Bootloaders und stellt sicher, dass der Bootloader-Code stets auf dem neuesten Stand ist. Der sd-boot wird jetzt standardmäßig mit Unterstützung für den SBAT-Mechanismus (UEFI Secure Boot Advanced Targeting) kompiliert, der Probleme mit der Widerrufung von Zertifikaten für UEFI Secure Boot löst. Darüber hinaus bietet sd-boot die Möglichkeit, die Bootkonfigurationen von Microsoft Windows zu analysieren, um die Bezeichnungen der Windows-Bootpartitionen korrekt zu erstellen und die Windows-Version anzuzeigen.

    Im sd-boot wurde außerdem die Möglichkeit eingeführt, das Farbschema während des Build-Prozesses festzulegen. Während des Bootvorgangs wurde die Unterstützung für die Bildschirmauflösung durch Drücken der Taste „r“ hinzugefügt. Eine Hotkey-Taste „f“ wurde eingeführt, um zum Firmware-Einstellungsinterface zu wechseln. Zudem wurde ein automatischer Bootmodus hinzugefügt, der dem Menüelement entspricht, das bei der letzten Bootsequenz ausgewählt wurde. Es besteht jetzt die Möglichkeit, EFI-Treiber, die im Verzeichnis /EFI/systemd/drivers/ auf der EFI-Systempartition (ESP) platziert sind, automatisch zu laden.

  • In der neuen unit-Datei factory-reset.target, die in systemd-logind ähnlich wie die Operationen Neustart, Ausschalten, Suspend und Hibernate verarbeitet wird, wurde ein Mechanismus integriert, um Handler für die Durchführung eines Werksresets zu erstellen.
  • Der Prozess systemd-resolved erstellt nun einen zusätzlichen Listen-Socket an der Adresse 127.0.0.54 neben 127.0.0.53. An die Adresse 127.0.0.54 kommenden Anfragen werden immer an den oberen DNS-Server umgeleitet und nicht lokal bearbeitet.
  • Es wurde die Möglichkeit hinzugefügt, systemd-importd und systemd-resolved mit der OpenSSL-Bibliothek anstelle von libgcrypt zu kompilieren.
  • Erste Unterstützung für die LoongArch-Architektur wurde hinzugefügt, die in Loongson-Prozessoren zum Einsatz kommt.
  • In systemd-gpt-auto-generator wurde die Möglichkeit zur automatischen Konfiguration von vom System definierten Swap-Partitionen, die durch das LUKS2-System verschlüsselt sind, implementiert.
  • Im Code zur Analyse von GPT-Images, der in systemd-nspawn, systemd-dissect und ähnlichen Dienstprogrammen verwendet wird, wurde die Fähigkeit zur Dekodierung von Images für andere Architekturen implementiert, was die Verwendung von systemd-nspawn zur Ausführung von Images in Emulatoren anderer Architekturen ermöglicht.
  • Bei der Inspektion von Disk-Images in systemd-dissect werden nun Informationen über den Verwendungszweck der Partition angezeigt, wie beispielsweise die UEFI-Bootfähigkeit oder den Start in einem Container.
  • In die Datei system-extension.d/ wurde das Feld „SYSEXT_SCOPE“ eingefügt, mit dem der Anwendungsbereich des System-Images als „initrd“, „system“ oder „portable“ gekennzeichnet werden kann.
  • In die Datei os-release wurde das Feld „PORTABLE_PREFIXES“ aufgenommen, das in portablen Images zur Bestimmung der unterstützten Präfixe von Unit-Dateien verwendet werden kann.
  • In systemd-logind wurden neue Einstellungen für HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress und HandleHibernateKeyLongPress implementiert, die verwendet werden können, um Aktionen bei längerem Drücken bestimmter Tasten (länger als 5 Sekunden) festzulegen. So kann beispielsweise bei schnellem Drücken der Taste für den Ruhezustand der Wechsel in den Energiesparmodus konfiguriert werden, während bei gedrückter Taste der Übergang in den Schlafmodus erfolgt.
  • Für Units wurden die Einstellungen StartupAllowedCPUs und StartupAllowedMemoryNodes implementiert, die sich von den entsprechenden Einstellungen ohne das Präfix Startup dadurch unterscheiden, dass sie nur während des Boot- und Herunterfahrvorgangs angewendet werden, was ermöglicht, andere Ressourcenbeschränkungen beim Booten festzulegen.
  • Es wurden Prüfpunkte [Condition|Assert][Memory|CPU|IO]Pressure hinzugefügt, um die Aktivierung von Einheiten im Falle einer hohen Auslastung des Speichers, der CPU und der E/A über den PSI-Mechanismus zu überspringen oder mit einem Fehler abzubrechen.
  • Das standardmäßig festgelegte Limit für die maximale Anzahl von Inodes wurde für das Verzeichnis /dev von 64k auf 1M und für /tmp von 400k auf 1M erhöht.
  • Für Dienste wird die Einstellung ExecSearchPath angeboten, die es ermöglicht, den Pfad für die Suche nach ausführbaren Dateien zu ändern, die über Einstellungen wie ExecStart gestartet werden.
  • Die Einstellung RuntimeRandomizedExtraSec wurde hinzugefügt, um zufällige Abweichungen im Timeout RuntimeMaxSec einzuführen, das die Ausführungszeit der Einheit begrenzt.
  • Die Syntax der Einstellungen RuntimeDirectory, StateDirectory, CacheDirectory und LogsDirectory wurde erweitert, sodass durch Angabe eines zusätzlichen, durch einen Doppelpunkt getrennten Wertes nun die Erstellung eines symbolischen Links auf das angegebene Verzeichnis zur Organisation des Zugriffs über mehrere Pfade ermöglicht wird.
  • Für Dienste wurden die Einstellungen TTYRows und TTYColumns vorgeschlagen, um die Anzahl der Zeilen und Spalten im TTY-Gerät festzulegen.
  • Die neue Einstellung ExitType ermöglicht eine Anpassung der Logik zur Bestimmung des DienstbeEndes. Standardmäßig verfolgt systemd nur das Ende des Hauptprozesses, aber bei der Einstellung ExitType=cgroup wartet der Systemmanager auf das Ende des letzten Prozesses in der cgroup.
  • Die Unterstützung für TPM2/FIDO2/PKCS11 in systemd-cryptsetup wird jetzt auch als Plugin für cryptsetup bereitgestellt, wodurch der Einsatz des regulären Befehls cryptsetup zur Entsperrung des verschlüsselten Laufwerks möglich ist.
  • Im TPM2-Handler in systemd-cryptsetup wurde die Unterstützung für primäre RSA-Schlüssel zusätzlich zu ECC-Schlüsseln hinzugefügt, um die Kompatibilität mit Chips zu verbessern, die ECC nicht unterstützen.
  • In /etc/crypttab wurde die Option token-timeout hinzugefügt, die die maximale Wartezeit für die Verbindung eines PKCS#11/FIDO2-Tokens definiert. Nach Ablauf dieser Zeit wird eine Eingabeaufforderung für das Passwort oder den Wiederherstellungsschlüssel angezeigt.
  • In systemd-timesyncd wurde die Einstellung SaveIntervalSec implementiert, die es ermöglicht, den aktuellen Systemzeitwert in regelmäßigen Abständen auf der Festplatte zu speichern, beispielsweise zur Implementierung monotone Uhren auf Systemen ohne RTC.
  • Die Utility systemd-analyze erhält die Optionen „—image“ und „—root“, um Unit-Dateien innerhalb eines bestimmten Images oder Wurzelverzeichnisses zu überprüfen. Außerdem gibt es die Option „—recursive-errors“, die abhängige Einheiten bei der Fehlersuche berücksichtigt, „—offline“ für die Überprüfung von lokal gespeicherten Unit-Dateien, „—json“ für die Ausgabe im JSON-Format, „—quiet“ zum Deaktivieren unwichtiger Meldungen und „—profile“ zur Bindung an ein tragbares Profil. Zusätzlich wurde der Befehl inspect-elf hinzugefügt, um Core-Dateien im ELF-Format zu analysieren und die Möglichkeit zur Überprüfung von Unit-Dateien mit einem bestimmten Einheitennamen, unabhängig davon, ob dieser Name mit dem Dateinamen übereinstimmt.
  • In systemd-networkd wurde die Unterstützung für den CAN-Bus (Controller Area Network) erweitert. Es wurden Einstellungen zur Verwaltung der CAN-Modi hinzugefügt: Loopback, OneShot, PresumeAck und ClassicDataLengthCode. In den [CAN]-Bereich der .network-Dateien wurden die Optionen TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 und DataSyncJumpWidth zur Verwaltung der Bit-Synchronisation des CAN-Interfaces aufgenommen.
  • In systemd-networkd wurde für den DHCPv4-Client die Option Label hinzugefügt, die es ermöglicht, ein Label für Adressen zu konfigurieren, das bei der Konfiguration von IPv4-Adressen verwendet wird.
  • In systemd-udevd wird jetzt die Unterstützung für spezielle Werte von „max“ in „ethtool“ bereitgestellt, die die Puffergröße auf den maximalen Wert setzen, der von der Hardware unterstützt wird.
  • In den .link-Dateien für systemd-udevd können jetzt verschiedene Parameter für die Zusammenführung von Netzwerkkarten und die Verbindung von Hardware-Offloads konfiguriert werden.
  • In systemd-networkd stehen standardmäßig neue .network-Dateien zur Verfügung: 80-container-vb.network zur Definition von Netzwerkbrücken, die beim Start von systemd-nspawn mit den Optionen „—network-bridge“ oder „—network-zone“ erstellt werden; 80-6rd-tunnel.network zur Definition von Tunneln, die automatisch erstellt werden, wenn eine DHCP-Antwort mit der Option 6RD empfangen wird.
  • In systemd-networkd und systemd-udevd wurde die Unterstützung für das IP-Forwarding über InfiniBand-Schnittstellen hinzugefügt, für die eine Sektion „[IPoIB]“ in die systemd.netdev-Dateien eingefügt wurde und die Verarbeitung des Wertes „ipoib“ in der Konfiguration des Typs implementiert wurde.
  • In systemd-networkd wird jetzt die automatische Routenanpassung für Adressen, die im Parameter AllowedIPs angegeben sind, bereitgestellt, die über die Parameter RouteTable und RouteMetric in den Sektionen [WireGuard] und [WireGuardPeer] konfiguriert werden kann.
  • In systemd-networkd wird die automatische Generierung unveränderlicher MAC-Adressen für die Interfaces batadv und bridge unterstützt. Um dieses Verhalten zu deaktivieren, kann der Wert MACAddress=none in den .netdev-Dateien angegeben werden.
  • In die .link-Dateien wurde unter der Sektion „[Link]“ die Einstellung WakeOnLanPassword hinzugefügt, um das Passwort für den Betrieb von WoL im „SecureOn“-Modus zu definieren.
  • In die Sektion „[CAKE]“ der .network-Dateien wurden die Einstellungen AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO und UseRawPacketSize hinzugefügt, um die Parameter des CAKE (Common Applications Kept Enhanced) Netzwerkmanagement-Mechanismus zu definieren.
  • In die Sektion „[Network]“ der .network-Dateien wurde die Einstellung IgnoreCarrierLoss hinzugefügt, die bestimmt, wie lange gewartet werden soll, bevor auf den Verlust des Trägersignals reagiert wird.
  • In systemd-nspawn, homectl, machinectl und systemd-run wurde die Syntax des Parameters „--setenv“ erweitert — wenn nur der Name der Variable (ohne „=“) angegeben wird, wird der Wert aus der entsprechenden Umgebungsvariable entnommen (zum Beispiel wird bei der Angabe „--setenv=FOO“ der Wert aus der Umgebungsvariable $FOO genommen und in der Container-Umgebungsvariable mit demselben Namen verwendet).
  • In systemd-nspawn wurde die Option „—suppress-sync“ hinzugefügt, um die Ausführung von Systemaufrufen wie sync()/fsync()/fdatasync() bei der Erstellung eines Containers zu deaktivieren. Dies ist nützlich, wenn Geschwindigkeit Vorrang hat und die Speicherung von Build-Artefakten im Falle eines Fehlers nicht wichtig ist, da diese jederzeit neu erstellt werden können.
  • Es wurde eine neue Datenbank hwdb hinzugefügt, die verschiedene Typen von Signalanalysatoren umfasst (Multimeter, Protokollanalysatoren, Oszilloskope usw.). Die Informationen zu Kameras in der hwdb wurden um ein Feld für den Kameratyp (normal oder infrarot) und die Platzierung des Objektivs (vorne oder hinten) erweitert.
  • Es wird sichergestellt, dass Netzwerkschnittstellen für netfront-Geräte, die in Xen verwendet werden, unveränderliche Namen haben.
  • Die Analyse von Core-Dateien durch das Dienstprogramm systemd-coredump basierend auf den Bibliotheken libdw/libelf erfolgt jetzt in einem separaten Prozess, der in einer Sandbox-Umgebung isoliert ist.
  • In systemd-importd wurde die Unterstützung für Umgebungsvariablen hinzugefügt: $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, mit denen die Generierung von Btrfs-Teilvolumes sowie Quotas und die Synchronisation von Festplatten deaktiviert werden können.
  • In systemd-journald auf Dateisystemen mit Unterstützung für den Copy-on-Write-Modus wurde die erneute Aktivierung des COW-Modus für Archivprotokolle implementiert, was deren Kompression durch Btrfs ermöglicht.
  • In systemd-journald wurde die Duplizierung identischer Felder in einer Nachricht realisiert, die in der Phase vor der Speicherung der Nachricht im Protokoll erfolgt.
  • Dem Befehl shutdown wurde die Option „—show“ hinzugefügt, um geplante Herunterfahrvorgänge anzuzeigen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster