systemd 245 ist mit der Implementierung eines tragbaren Home-Verzeichnisses verfügbar

Nach drei Monaten Entwicklungszeit eingereicht Systemmanager-Release System 245. In der neuen Version werden die neuen Komponenten systemd-homed und systemd-repart hinzugefügt, Unterstützung für tragbare Benutzerprofile im JSON-Format hinzugefügt, die Möglichkeit zur Definition von Namespaces in systemd-journald bereitgestellt und Unterstützung für den „pidfd“-Mechanismus hinzugefügt . Komplett neu gestaltet Projektseite, das den Großteil der verfügbaren Dokumentation sammelt und ein neues Logo vorschlägt.

systemd 245 ist mit der Implementierung eines tragbaren Home-Verzeichnisses verfügbar

Haupt- Veränderungen:

  • Zusätzlicher Service systemd-homed, das die Verwaltung tragbarer Home-Verzeichnisse ermöglicht und in Form einer bereitgestellten Image-Datei bereitgestellt wird, deren Daten verschlüsselt sind. Mit Systemd-homed können Sie eigenständige Umgebungen für Benutzerdaten erstellen, die zwischen verschiedenen Systemen übertragen werden können, ohne sich Gedanken über die Synchronisierung von Identifikatoren und die Vertraulichkeit machen zu müssen. Benutzeranmeldeinformationen sind an das Home-Verzeichnis und nicht an Systemeinstellungen gebunden – ein Profil im Format wird anstelle von /etc/passwd, /etc/group und /etc/shadow verwendet JSON. Weitere Einzelheiten finden Sie unter letzte Ankündigung systemd-homed.
  • Systemd-homed-Begleitkomponente hinzugefügt „Benutzerdatenbank” („systemd-userdb“), das UNIX/glibc-NSS-Konten in JSON-Datensätze übersetzt und eine einheitliche Varlink-API zum Abfragen und Durchlaufen von Datensätzen bereitstellt. Das mit dem Home-Verzeichnis verknüpfte JSON-Profil gibt die für die Arbeit des Benutzers erforderlichen Parameter an, einschließlich Benutzername, Passwort-Hash, Verschlüsselungsschlüssel, Kontingente und bereitgestellte Ressourcen. Das Profil kann mit einer digitalen Signatur zertifiziert werden, die auf einem externen Yubikey-Token gespeichert ist. Zur Verwaltung von Profilen wird das Dienstprogramm „userdbctl“ vorgeschlagen. Unterstützung für JSON-Profile wurde zu verschiedenen Systemd-Komponenten hinzugefügt, einschließlich systemd-logind und pam-systemd, sodass Benutzer tragbarer Verzeichnisse sich authentifizieren, anmelden, Umgebungsvariablen festlegen, eine Sitzung erstellen, Grenzwerte festlegen usw. können. Es wird erwartet, dass das SSD-Framework in Zukunft JSON-Profile mit in LDAP gespeicherten Benutzereinstellungen generieren kann.
  • Es wurde ein neues Dienstprogramm „systemd-repart“ hinzugefügt, das für die Neupartitionierung von Festplattenpartitionstabellen im GPT-Format entwickelt wurde. Die Partitionsstruktur wird in deklarativer Form durch Dateien definiert, die beschreiben, welche Partitionen existieren sollen oder können. Bei jedem Bootvorgang wird die tatsächliche Partitionstabelle mit diesen Dateien verglichen, anschließend werden die fehlenden Partitionen hinzugefügt oder, falls die in den Einstellungen definierte relative oder absolute Größe nicht übereinstimmt, die Größe der vorhandenen erhöht. Es sind nur inkrementelle Änderungen zulässig, d. h. Löschen und Verkleinern ist nicht möglich, Partitionen können nur hinzugefügt und vergrößert werden.
    Das Dienstprogramm kann von der initrd aus gestartet werden und erkennt automatisch die Festplatte, auf der sich die Root-Partition befindet. Dies erfordert keine zusätzliche Konfiguration, mit Ausnahme von Dateien mit der Definition von Änderungen.

    In der Praxis kann systemd-repart für Betriebssystem-Images nützlich sein, die möglicherweise zunächst in einer minimalen Form ausgeliefert werden und nach dem ersten Start auf die Größe des vorhandenen Blockgeräts erweitert oder um zusätzliche Partitionen (z. B. das Root) ergänzt werden können Die Partition kann so erweitert werden, dass sie die gesamte Festplatte abdeckt, oder Sie können nach dem ersten Start eine Swap-Partition oder /home erstellen. Eine andere Verwendung wären Konfigurationen mit zwei rotierenden Partitionen – möglicherweise wird zunächst nur die erste Partition bereitgestellt, und die zweite wird beim ersten Start erstellt.

  • Es ist jetzt möglich, mehrere Instanzen von systemd-journald zu starten, von denen jede Protokolle in ihrem eigenen Namensraum speichert. Zusätzlich zum Hauptverzeichnis systemd-journald.service bietet das Verzeichnis .service eine Vorlage zum Erstellen zusätzlicher Instanzen, die mithilfe der Direktive „LogNamespace“ an ihre Namespaces gebunden sind. Jeder Protokoll-Namespace wird von einem separaten Hintergrundprozess mit eigenen Einstellungen und Grenzwerten bedient. Die vorgeschlagene Funktion kann für den Lastausgleich bei großen Protokollmengen oder für die Verbesserung der Anwendungsisolation nützlich sein. Option „--namespace“ zu „journalctl“ hinzugefügt, um die Abfrage nur auf den angegebenen Namespace zu beschränken.
  • Systemd-udevd und andere Systemd-Komponenten haben Unterstützung für einen Mechanismus zum Zuweisen alternativer Namen zu Netzwerkschnittstellen hinzugefügt, sodass mehrere Namen gleichzeitig für eine Schnittstelle verwendet werden können. Der Name kann bis zu 128 Zeichen lang sein (zuvor war der Name der Netzwerkschnittstelle auf 16 Zeichen beschränkt). Standardmäßig weist systemd-udevd nun jeder Netzwerkschnittstelle alle Variantennamen zu, die von unterstützten Benennungsschemata generiert werden. Dieses Verhalten kann durch die neuen Einstellungen „AlternativeName“ und „AlternativeNamesPolicy“ in .link-Dateien geändert werden. systemd-nspawn implementiert die Generierung alternativer Namen mit dem vollständigen Containernamen für auf der Hostseite erstellte Veth-Links.
  • Die sd-event.h-API fügt Unterstützung für das Linux-Kernel-Subsystem „pidfd“ hinzu, um die Situation der PID-Wiederverwendung zu bewältigen (pidfd ist einem bestimmten Prozess zugeordnet und ändert sich nicht, während eine PID einem anderen Prozess nach dem aktuellen Prozess zugeordnet werden kann der damit verbundene Wert verlässt diese PID). Alle systemd-Komponenten außer PID 1 wurden so konvertiert, dass sie pidfds verwenden, wenn das Subsystem vom aktuellen Kernel unterstützt wird.
  • systemd-logind bietet Zugriffsprüfungen für den Änderungsvorgang des virtuellen Terminals über PolicyKit. Standardmäßig werden Berechtigungen zum Ändern des aktiven Terminals nur Benutzern gewährt, die mindestens einmal eine Sitzung auf dem lokalen virtuellen Terminal initiiert haben.
  • Um das Erstellen von initrd-Images mit systemd zu vereinfachen, erkennt der PID 1-Handler jetzt, ob die initrd verwendet wird, und lädt in diesem Fall automatisch initrd.target anstelle von default.target. Bei diesem Ansatz können sich die initrd- und Hauptsystem-Images nur durch das Vorhandensein der Datei /etc/initrd-release unterscheiden.
  • Ein neuer Kernel-Befehlszeilenparameter hinzugefügt – „systemd.cpu_affinity“, der der CPUAffinity-Option in /etc/systemd/system.conf entspricht und es Ihnen ermöglicht, die CPU-Affinitätsmaske für PID 1 und andere Prozesse zu konfigurieren.
  • Ermöglicht das Neuladen der SELinux-Datenbank zusammen mit dem Neustart von PID 1 über Befehle wie „systemctl daemon-reload“.
  • Dem PID 1-Handler wurde die Einstellung „systemd.show-status=error“ hinzugefügt. Wenn diese Einstellung festgelegt ist, werden auf der Konsole nur Fehlermeldungen und erhebliche Verzögerungen beim Laden angezeigt.
  • systemd-sysusers hat Unterstützung für das Erstellen von Benutzern mit einem primären Gruppennamen hinzugefügt, der sich vom Benutzernamen unterscheidet.
  • systemd-growfs führt zusätzlich zur zuvor unterstützten Partitionserweiterung mit Ext4 und Btrfs Unterstützung für die XFS-Partitionserweiterung über die Mount-Option x-systemd.growfs in /etc/fstab ein.
  • Option x-initrd.attach zu /etc/crypttab hinzugefügt, um eine verschlüsselte Partition zu definieren, die bereits in der initrd-Phase entsperrt wurde.
  • systemd-cryptsetup hat Unterstützung hinzugefügt (Option pkcs11-uri in /etc/crypttab) zum Entsperren verschlüsselter Partitionen mithilfe von PKCS#11-Smartcards, beispielsweise zum Anhängen der Partitionsverschlüsselung an YubiKeys.
  • Neue Mount-Optionen „x-systemd.required-by“ und „x-systemd.wanted-by“ wurden zu /etc/fstab hinzugefügt, um explizit Einheiten zu konfigurieren, die Mount-Vorgänge definieren, die anstelle von local-fs.target und remote aufgerufen werden sollen -fs .target.
  • Es wurde eine neue Service-Sandboxing-Option hinzugefügt – ProtectClock, die das Schreiben auf die Systemuhr begrenzt (der Zugriff ist auf der Ebene von /dev/rtc, Systemaufrufen und CAP_SYS_TIME/CAP_WAKE_ALARM-Berechtigungen blockiert).
  • Nach Spezifikation Auffindbare Partitionen und systemd-gpt-auto-generator hat die Partitionserkennung hinzugefügt
    /var und /var/tmp.

  • In „systemctl list-unit-files“ ist bei der Anzeige einer Liste von Einheiten eine neue Spalte erschienen, die den in den Herstellervoreinstellungen für diesen Einheitentyp angebotenen Aktivierungsstatus widerspiegelt.
  • Zu „systemctl“ wurde die Option „–with-dependencies“ hinzugefügt. Bei der Installation zeigen Befehle wie „systemctl status“ und „systemctl cat“ nicht nur alle entsprechenden Einheiten an, sondern auch die Einheiten, von denen sie abhängen.
  • In systemd-networkd wurde in der qdisc-Konfiguration die Möglichkeit hinzugefügt, die Parameter TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) und FQ (Fair Queue) zu konfigurieren.
  • systemd-networkd hat Unterstützung für IFB-Netzwerkgeräte hinzugefügt (Zwischenfunktionsblock).
  • Systemd-networkd implementiert den MultiPathRoute-Parameter im Abschnitt [Route], um Multipfad-Routen zu konfigurieren.
  • In systemd-networkd für den DHCPv4-Client wurde die Option SendDecline hinzugefügt. Wenn diese Option angegeben ist, wird nach dem Empfang einer DHCP-Antwort mit einer Adresse eine Prüfung auf doppelte Adressen durchgeführt. Wenn ein Adresskonflikt erkannt wird, wird die ausgegebene Adresse abgelehnt. Dem DHCPv4-Client wurde außerdem die Option RouteMTUBytes hinzugefügt, mit der Sie die MTU-Größe für Routen bestimmen können, die aus IP-Adressbindungen (Leases) generiert werden.
  • Die PrefixRoute-Einstellung im Abschnitt [Address] von .network-Dateien ist veraltet. Sie wurde durch die Einstellung „AddPrefixRoute“ ersetzt, die die gegenteilige Bedeutung hat.
  • In .network-Dateien wurde der Gateway-Einstellung im Abschnitt „[Route]“ Unterstützung für den neuen Wert „_dhcp“ hinzugefügt. Wenn dieser Wert festgelegt ist, wird eine statische Route basierend auf dem über DHCP konfigurierten Gateway ausgewählt.
  • Einstellungen wurden in den .network-Dateien im Abschnitt „[RoutingPolicyRule]“ angezeigt
    User und SuppressPrefixLength, um das Quellrouting basierend auf UID-Bereichen und Präfixgröße anzugeben.

  • In networkctl bietet der Befehl „status“ die Möglichkeit, Protokolle in Bezug auf jede Netzwerkschnittstelle anzuzeigen.
  • systemd-networkd-wait-online bietet Unterstützung für das Festlegen der maximalen Wartezeit, bis eine Schnittstelle betriebsbereit ist und bis eine Schnittstelle ausfällt.
  • Die Verarbeitung von .link- und .network-Dateien mit einem leeren oder auskommentierten Abschnitt „[Match]“ wurde gestoppt.
  • In den .link- und .network-Dateien wurde im Abschnitt „[Match]“ die Einstellung „PermanentMACAddress“ hinzugefügt, um die permanente MAC-Adresse von Geräten bei Verwendung einer generierten zufälligen MAC-Adresse zu überprüfen.
  • Der Abschnitt „[TrafficControlQueueingDiscipline]“ in .network-Dateien wurde in „[NetworkEmulator]“ umbenannt und das Präfix „NetworkEmulator“ wurde aus den Namen der zugehörigen Einstellungen entfernt.
  • systemd-resolved für DNS-über-TLS fügt Unterstützung für die SNI-Prüfung hinzu.

Source: opennet.ru

Kommentar hinzufügen