systemd Systemmanager Version 246

Nach fünf Monaten Entwicklungszeit eingereicht Systemmanager-Release System 246. Die neue Version umfasst Unterstützung für das Einfrieren von Einheiten, die Möglichkeit, das Root-Disk-Image mithilfe einer digitalen Signatur zu überprüfen, Unterstützung für Protokollkomprimierung und Core-Dumps mithilfe des ZSTD-Algorithmus, die Möglichkeit, tragbare Home-Verzeichnisse mithilfe von FIDO2-Tokens zu entsperren, und Unterstützung für das Entsperren von Microsoft BitLocker Partitionen über /etc/crypttab, BlackList wurde in DenyList umbenannt.

Haupt- Veränderungen:

  • Unterstützung für den Freezer-Ressourcencontroller basierend auf cgroups v2 hinzugefügt, mit dem Sie Prozesse stoppen und vorübergehend einige Ressourcen (CPU, I/O und möglicherweise sogar Speicher) für die Ausführung anderer Aufgaben freigeben können. Das Einfrieren und Abtauen von Einheiten wird über den neuen Befehl „systemctl freeze“ oder über D-Bus gesteuert.
  • Unterstützung für die Überprüfung des Root-Disk-Images mithilfe einer digitalen Signatur hinzugefügt. Die Überprüfung erfolgt mithilfe neuer Einstellungen in Serviceeinheiten: RootHash (Root-Hash zur Überprüfung des über die RootImage-Option angegebenen Festplatten-Images) und RootHashSignature (digitale Signatur im PKCS#7-Format für den Root-Hash).
  • Der PID 1-Handler implementiert die Möglichkeit, vorkompilierte AppArmor-Regeln (/etc/apparmor/earlypolicy) in der ersten Startphase automatisch zu laden.
  • Es wurden neue Unit-Dateieinstellungen hinzugefügt: ConditionPathIsEncrypted und AssertPathIsEncrypted, um die Platzierung des angegebenen Pfads auf einem Blockgerät zu überprüfen, das Verschlüsselung (dm-crypt/LUKS) verwendet, ConditionEnvironment und AssertEnvironment, um Umgebungsvariablen zu überprüfen (z. B. die von PAM oder beim Aufstellen von Containern).
  • Für *.mount-Einheiten wurde die ReadWriteOnly-Einstellung implementiert, die das Mounten einer Partition im schreibgeschützten Modus verbietet, wenn es nicht möglich war, sie zum Lesen und Schreiben zu mounten. In /etc/fstab wird dieser Modus mit der Option „x-systemd.rw-only“ konfiguriert.
  • Für *.socket-Einheiten wurde die PassPacketInfo-Einstellung hinzugefügt, die es dem Kernel ermöglicht, zusätzliche Metadaten für jedes aus dem Socket gelesene Paket hinzuzufügen (aktiviert die Modi IP_PKTINFO, IPV6_RECVPKTINFO und NETLINK_PKTINFO für den Socket).
  • Für Dienste (*.service-Einheiten) werden CoredumpFilter-Einstellungen vorgeschlagen (definiert Speicherabschnitte, die in Core-Dumps enthalten sein sollen) und
    TimeoutStartFailureMode/TimeoutStopFailureMode (definiert das Verhalten (SIGTERM, SIGABRT oder SIGKILL), wenn beim Starten oder Stoppen eines Dienstes ein Timeout auftritt).

  • Die meisten Optionen unterstützen jetzt Hexadezimalwerte, die mit dem Präfix „0x“ angegeben werden.
  • In verschiedenen Befehlszeilenparametern und Konfigurationsdateien im Zusammenhang mit der Einrichtung von Schlüsseln oder Zertifikaten ist es möglich, den Pfad zu Unix-Sockets (AF_UNIX) für die Übertragung von Schlüsseln und Zertifikaten durch Aufrufe von IPC-Diensten anzugeben, wenn es nicht wünschenswert ist, Zertifikate auf einer unverschlüsselten Festplatte abzulegen Lagerung.
  • Unterstützung für sechs neue Spezifizierer hinzugefügt, die in Units, tmpfiles.d/, sysusers.d/ und anderen Konfigurationsdateien verwendet werden können: %a zum Ersetzen der aktuellen Architektur, %o/%w/%B/%W zum Ersetzen von Feldern durch Bezeichner aus /etc/os-release und %l für kurze Hostnamen-Ersetzung.
  • Unit-Dateien unterstützen nicht mehr die Syntax „.include“, die vor 6 Jahren veraltet war.
  • Die Einstellungen „StandardError“ und „StandardOutput“ unterstützen die Werte „syslog“ und „syslog-console“ nicht mehr, diese werden automatisch in „journal“ und „journal+console“ umgewandelt.
  • Für automatisch erstellte tmpfs-basierte Mount-Punkte (/tmp, /run, /dev/shm usw.) gelten Beschränkungen für die Größe und Anzahl der Inodes, die 50 % der RAM-Größe für /tmp und /dev/ entsprechen. shm und 10 % RAM für alle anderen.
  • Neue Kernel-Befehlszeilenoptionen hinzugefügt: systemd.hostname, um den Hostnamen in der ersten Startphase festzulegen, udev.blockdev_read_only, um alle Blockgeräte, die physischen Laufwerken zugeordnet sind, auf den schreibgeschützten Modus zu beschränken (Sie können dazu den Befehl „blockdev --setrw“ verwenden). selektiv abbrechen), systemd .swap zum Deaktivieren der automatischen Aktivierung der Swap-Partition, systemd.clock-usec zum Einstellen der Systemuhr in Mikrosekunden, systemd.condition-needs-update und systemd.condition-first-boot zum Überschreiben von ConditionNeedsUpdate und ConditionFirstBoot Schecks.
  • Standardmäßig ist sysctl fs.suid_dumpable auf 2 („suidsafe“) gesetzt, was das Speichern von Core-Dumps für Prozesse mit dem suid-Flag ermöglicht.
  • Die Datei /usr/lib/udev/hwdb.d/60-autosuspend.hwdb wurde von ChromiumOS in die Hardwaredatenbank entlehnt, die Informationen zu PCI- und USB-Geräten enthält, die den automatischen Ruhemodus unterstützen.
  • Die Einstellung „ManageForeignRoutes“ wurde zu networkd.conf hinzugefügt. Wenn diese Option aktiviert ist, beginnt systemd-networkd mit der Verwaltung aller von anderen Dienstprogrammen konfigurierten Routen.
  • Den .network-Dateien wurde ein Abschnitt „[SR-IOV]“ hinzugefügt, um Netzwerkgeräte zu konfigurieren, die SR-IOV (Single Root I/O Virtualization) unterstützen.
  • In systemd-networkd wurde die Einstellung IPv4AcceptLocal zum Abschnitt „[Netzwerk]“ hinzugefügt, um den Empfang von Paketen, die mit einer lokalen Quelladresse ankommen, auf der Netzwerkschnittstelle zu ermöglichen.
  • systemd-networkd hat die Möglichkeit hinzugefügt, HTB-Datenverkehrspriorisierungsdisziplinen über [HierarchyTokenBucket] und zu konfigurieren
    [HierarchyTokenBucketClass], „pfifo“ über [PFIFO], „GRED“ über [GenericRandomEarlyDetection], „SFB“ über [StochasticFairBlue], „cake“
    über [CAKE], „PIE“ über [PIE], „DRR“ über [DeficitRoundRobinScheduler] und
    [DeficitRoundRobinSchedulerClass], „BFIFO“ über [BFIFO],
    „PFIFOHeadDrop“ über [PFIFOHeadDrop], „PFIFOFast“ über [PFIFOFast], „HHF“
    über [HeavyHitterFilter], „ETS“ über [EnhancedTransmissionSelection],
    „QFQ“ über [QuickFairQueueing] und [QuickFairQueueingClass].

  • In systemd-networkd wurde dem Abschnitt [DHCPv4] eine UseGateway-Einstellung hinzugefügt, um die Verwendung von über DHCP erhaltenen Gateway-Informationen zu deaktivieren.
  • In systemd-networkd wurde in den Abschnitten [DHCPv4] und [DHCPServer] eine SendVendorOption-Einstellung zum Installieren und Verarbeiten zusätzlicher Anbieteroptionen hinzugefügt.
  • systemd-networkd implementiert einen neuen Satz von EmitPOP3/POP3-, EmitSMTP/SMTP- und EmitLPR/LPR-Optionen im Abschnitt [DHCPServer], um Informationen über POP3-, SMTP- und LPR-Server hinzuzufügen.
  • In systemd-networkd wurde in den .netdev-Dateien im Abschnitt [Bridge] eine VLANProtocol-Einstellung hinzugefügt, um das zu verwendende VLAN-Protokoll auszuwählen.
  • In systemd-networkd ist in .network-Dateien im Abschnitt [Link] die Gruppeneinstellung implementiert, um eine Gruppe von Links zu verwalten.
  • Die BlackList-Einstellungen wurden in „DenyList“ umbenannt (wobei die alte Namensverarbeitung aus Gründen der Abwärtskompatibilität beibehalten wird).
  • Systemd-networkd hat einen großen Teil der Einstellungen im Zusammenhang mit IPv6 und DHCPv6 hinzugefügt.
  • Befehl „forcerenew“ zu networkctl hinzugefügt, um die Aktualisierung aller Adressbindungen zu erzwingen (Lease).
  • In systemd-resolved wurde es in der DNS-Konfiguration möglich, die Portnummer und den Hostnamen für die DNS-über-TLS-Zertifikatsüberprüfung anzugeben. Die DNS-over-TLS-Implementierung bietet Unterstützung für die SNI-Prüfung.
  • Systemd-resolved bietet jetzt die Möglichkeit, die Umleitung von Single-Label-DNS-Namen (Single-Label, von einem Hostnamen) zu konfigurieren.
  • systemd-journald bietet Unterstützung für die Verwendung des zstd-Algorithmus zum Komprimieren großer Felder in Journalen. Es wurden Arbeiten zum Schutz vor Kollisionen in Hash-Tabellen durchgeführt, die in Journalen verwendet werden.
  • Bei der Anzeige von Protokollmeldungen wurden zu „journalctl“ anklickbare URLs mit Links zur Dokumentation hinzugefügt.
  • Es wurde eine Audit-Einstellung zu „journald.conf“ hinzugefügt, um zu steuern, ob die Überwachung während der Initialisierung von systemd-journald aktiviert ist.
  • Systemd-coredump bietet jetzt die Möglichkeit, Core-Dumps mithilfe des ZSTD-Algorithmus zu komprimieren.
  • UUID-Einstellung zu systemd-repart hinzugefügt, um der erstellten Partition eine UUID zuzuweisen.
  • Der systemd-homed-Dienst, der die Verwaltung tragbarer Home-Verzeichnisse ermöglicht, hat die Möglichkeit hinzugefügt, Home-Verzeichnisse mithilfe von FIDO2-Tokens zu entsperren. Das LUKS-Partitionsverschlüsselungs-Backend bietet Unterstützung für die automatische Rückgabe leerer Dateisystemblöcke, wenn eine Sitzung endet. Zusätzlicher Schutz vor doppelter Datenverschlüsselung, wenn festgestellt wird, dass die /home-Partition auf dem System bereits verschlüsselt ist.
  • Einstellungen zu /etc/crypttab hinzugefügt: „keyfile-erase“, um einen Schlüssel nach der Verwendung zu löschen, und „try-empty-password“, um zu versuchen, eine Partition mit einem leeren Passwort zu entsperren, bevor der Benutzer zur Eingabe eines Passworts aufgefordert wird (nützlich für die Installation verschlüsselter Images). mit einem Passwort, das nach dem ersten Booten zugewiesen wird, nicht während der Installation).
  • systemd-cryptsetup fügt Unterstützung für das Entsperren von Microsoft BitLocker-Partitionen beim Booten mithilfe von /etc/crypttab hinzu. Außerdem wurde die Fähigkeit zum Lesen hinzugefügt
    Schlüssel zum automatischen Entsperren von Partitionen aus den Dateien /etc/cryptsetup-keys.d/ .key und /run/cryptsetup-keys.d/ .Schlüssel.

  • Systemd-xdg-autostart-generator hinzugefügt, um Unit-Dateien aus .desktop-Autostart-Dateien zu erstellen.
  • Befehl „reboot-to-firmware“ zu „bootctl“ hinzugefügt.
  • Optionen zu systemd-firstboot hinzugefügt: „--image“, um das zu bootende Disk-Image anzugeben, „--kernel-command-line“, um die Datei /etc/kernel/cmdline zu initialisieren, „--root-password-hashed“ für Geben Sie den Root-Passwort-Hash an und „--delete-root-password“, um das Root-Passwort zu löschen.

Source: opennet.ru

Kommentar hinzufügen