Nach fünfmonatiger Entwicklung der Veröffentlichung des Systemmanagers . In der neuen Ausgabe wurde die Unterstützung für das Einfrieren von Einheiten, die Möglichkeit zur Überprüfung des Images der Root-Disk anhand der digitalen Signatur, die Unterstützung für die Kompression des Journals und von Core-Dumps unter Verwendung des ZSTD-Algorithmus, die Möglichkeit, tragbare Home-Verzeichnisse mit FIDO2-Token zu entsperren, sowie die Unterstützung für die Entsperrung von Microsoft BitLocker-Partitionen über /etc/crypttab implementiert und die Umbenennung von BlackList in DenyList vollzogen.
Haupt- :
- Die Unterstützung für den Resource-Freezer-Controller auf Basis von cgroups v2 wurde hinzugefügt, mit dem Prozesse gestoppt und vorübergehend einige Ressourcen (CPU, Ein-/Ausgabe und möglicherweise sogar Speicher) freigegeben werden können, um andere Aufgaben auszuführen. Die Verwaltung des Einfrierens und Auftauens von Einheiten erfolgt mithilfe des neuen Befehls „systemctl freeze“ oder über D-Bus.
- Die Unterstützung zur Überprüfung des Images der Root-Disk anhand der digitalen Signatur wurde hinzugefügt. Die Prüfung erfolgt über neue Einstellungen in den Service-Einheiten: RootHash (Root-Hash zur Überprüfung des angegebenen Disk-Images über die Option RootImage) und RootHashSignature (digitale Signatur im PKCS#7-Format für den Root-Hash).
- Im PID-1-Handler wurde die Möglichkeit der automatischen Lade von vorcompilierten AppArmor-Regeln (/etc/apparmor/earlypolicy) in der Anfangsphase des Bootvorgangs implementiert.
- Neue Einstellungen für die Unit-Dateien wurden hinzugefügt: ConditionPathIsEncrypted und AssertPathIsEncrypted zur Überprüfung, ob der angegebene Pfad auf einem Blockgerät platziert ist, in dem Verschlüsselung (dm-crypt/LUKS) verwendet wird, sowie ConditionEnvironment und AssertEnvironment zur Überprüfung von Umgebungsvariablen (z. B. die von PAM festgelegten oder bei der Konfiguration von Containern).
- Für die Einheiten *.mount wurde die Einstellung ReadWriteOnly implementiert, die das Mounten der Partition im Nur-Lesen-Modus verbietet, wenn es nicht möglich war, sie im Lese- und Schreibmodus zu mounten. In /etc/fstab wird dieser Modus über die Option „x-systemd.rw-only“ konfiguriert.
- Für die Einheiten *.socket wurde die Einstellung PassPacketInfo hinzugefügt, die die Hinzufügung zusätzlicher Metadaten durch den Kernel für jedes Paket, das aus dem Socket gelesen wird, aktiviert (einschließlich der Modi IP_PKTINFO, IPV6_RECVPKTINFO und NETLINK_PKTINFO für den Socket).
- Für die Dienste (Einheiten *.service) wurden die Einstellungen CoredumpFilter (bestimmt die Speichersektoren, die in Core-Dumps einbezogen werden sollen) und
TimeoutStartFailureMode/TimeoutStopFailureMode (bestimmt das Verhalten (SIGTERM, SIGABRT oder SIGKILL) bei einem Timeout beim Starten oder Stoppen des Dienstes) vorgeschlagen. - In den meisten Optionen wurde die Unterstützung für hexadezimale Werte hinzugefügt, die mit dem Präfix „0x“ angegeben werden.
- In verschiedenen Befehlszeilenparametern und Konfigurationsdateien, die mit der Konfiguration von Schlüsseln oder Zertifikaten verbunden sind, wurde die Möglichkeit implementiert, den Pfad zu Unix-Sockets (AF_UNIX) anzugeben, um Schlüssel und Zertifikate über IPC-Dienste zu übertragen, wenn es unerwünscht ist, Zertifikate in unverschlüsselten Datenspeichern abzulegen.
- Die Unterstützung für sechs neue Spezifizierer wurde hinzugefügt, die in Units, tmpfiles.d/, sysusers.d/ und anderen Konfigurationsdateien verwendet werden können: %a zur Einfügung der aktuellen Architektur, %o/%w/%B/%W zur Einfügung der Felder mit Identifikatoren aus /etc/os-release und %l zur Einfügung des kurzen Hostnamens.
- In den Unit-Dateien wurde die Unterstützung für die Syntax „.include“ eingestellt, die vor 6 Jahren für veraltet erklärt wurde.
- In den Einstellungen für StandardError und StandardOutput wurde die Unterstützung für die Werte „syslog“ und „syslog-console“ eingestellt, die automatisch in „journal“ und „journal+console“ konvertiert werden.
- Für automatisch erstellte Mount-Punkte auf Basis von tmpfs (/tmp, /run, /dev/shm usw.) werden Limits für die Größe und Anzahl der Inodes gesetzt, die 50 % des RAMs für /tmp und /dev/shm und 10 % des RAMs für alle anderen entsprechen.
- Neue Kernel-Befehlszeilenparameter wurden hinzugefügt: systemd.hostname zur Festlegung des Hostnamens in der frühen Startphase, udev.blockdev_read_only zur Einschränkung aller mit physischen Speichermedien verbundenen Blockgeräte auf den Nur-Lese-Modus (zum selektiven Aufheben kann der Befehl „blockdev —setrw“ verwendet werden), systemd.swap zur Deaktivierung der automatischen Aktivierung der Swap-Partition, systemd.clock-usec zur Festlegung der Systemuhr in Mikrosekunden, systemd.condition-needs-update und systemd.condition-first-boot zur Überschreibung der Überprüfungen ConditionNeedsUpdate und ConditionFirstBoot.
- Standardmäßig wird der sysctl fs.suid_dumpable auf den Wert 2 („suidsafe“) gesetzt, was das Speichern von Core-Dumps für Prozesse mit dem suid-Flag erlaubt.
- Die Hardware-Datenbank aus ChromiumOS enthält die Datei /usr/lib/udev/hwdb.d/60-autosuspend.hwdb, die Informationen über PCI- und USB-Geräte enthält, die den automatischen Wechsel in den Energiesparmodus unterstützen.
- In der networkd.conf wurde die Einstellung ManageForeignRoutes hinzugefügt, durch die systemd-networkd beginnen wird, alle Routen zu verwalten, die von anderen Utilities konfiguriert wurden.
- In die .network-Dateien wurde der Abschnitt „[SR-IOV]“ zur Konfiguration von Netzwerkgeräten mit Unterstützung für SR-IOV (Single Root I/O Virtualization) hinzugefügt.
- In systemd-networkd wurde die Konfiguration IPv4AcceptLocal im Abschnitt „[Network]“ hinzugefügt, um den Empfang von Paketen auf dem Netzwerkinterface zu erlauben, die von einer lokalen Quelladresse stammen.
- In systemd-networkd wurde die Möglichkeit zur Konfiguration von Traffic-Priorisierung durch HTB über die Abschnitte [HierarchyTokenBucket] und
[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 die Einstellung UseGateway im Abschnitt [DHCPv4] hinzugefügt, um die Verwendung von Informationen über das Gateway, die über DHCP erhalten wurden, zu deaktivieren.
- In systemd-networkd wurden im Abschnitt [DHCPv4] und [DHCPServer] die Einstellungen SendVendorOption hinzugefügt, um zusätzliche Optionen des Herstellers festzulegen und zu verarbeiten.
- In systemd-networkd wurden im Abschnitt [DHCPServer] neue Optionen EmitPOP3/POP3, EmitSMTP/SMTP und EmitLPR/LPR implementiert, um Informationen zu POP3-, SMTP- und LPR-Servern hinzuzufügen.
- In systemd-networkd wurde in den .netdev-Dateien im Abschnitt [Bridge] die Einstellung VLANProtocol hinzugefügt, um das verwendete VLAN-Protokoll auszuwählen.
- In systemd-networkd wurde in den .network-Dateien im Abschnitt [Link] die Einstellung Group implementiert, um eine Gruppe von Links zu verwalten.
- Die Einstellungen BlackList wurden in DenyList umbenannt (zum Zwecke der Abwärtskompatibilität bleibt die Verarbeitung des alten Namens erhalten).
- In systemd-networkd wurde eine große Anzahl von Einstellungen im Zusammenhang mit IPv6 und DHCPv6 hinzugefügt.
- In networkctl wurde der Befehl „forcerenew“ hinzugefügt, um alle Adressbindungen (Leases) zwangsweise zu aktualisieren.
- In systemd-resolved wurde in der DNS-Konfiguration die Möglichkeit hinzugefügt, eine Portnummer und einen Hostnamen zur Verifizierung des Zertifikats DNS-over-TLS anzugeben. In der Implementierung von DNS-over-TLS wurde die Unterstützung zur Überprüfung von SNI hinzugefügt.
- In systemd-resolved wurde die Möglichkeit zur Konfiguration der Weiterleitung von einteiligen DNS-Namen (single-label, aus einem Hostnamen) hinzugefügt.
- In systemd-journald wird die Unterstützung der Anwendung des zstd-Algorithmus zur Komprimierung großer Felder in Logs gewährleistet. Es wurden Maßnahmen zum Schutz vor Kollisionen in den in Logs verwendeten Hashtabellen ergriffen.
- In journalctl wurden beim Ausgeben von Lognachrichten klickbare URLs mit Links zur Dokumentation hinzugefügt.
- In journald.conf wurde die Einstellung Audit hinzugefügt, um die Aktivierung der Protokollierung während der Initialisierung von systemd-journald zu steuern.
- In systemd-coredump wurde die Möglichkeit hinzugefügt, Core-Dumps mit dem Algorithmus zstd zu komprimieren.
- In systemd-repart wurde die Einstellung UUID hinzugefügt, um einer neu erstellten Partition eine UUID zuzuweisen.
- Im Dienst systemd-homed, der die Verwaltung von portablen Home-Verzeichnissen ermöglicht, wurde die Möglichkeit zur Entsperrung von Home-Verzeichnissen mit FIDO2-Tokens hinzugefügt. Im Backend der LUKS-Verschlüsselung wurde die Unterstützung für die automatische Rückgabe leerer Blöcke des Dateisystems nach Abschluss der Sitzung hinzugefügt. Zudem wurde ein Schutz gegen doppelte Datenverschlüsselung implementiert, wenn festgestellt wird, dass für die Partition /home bereits eine Verschlüsselung in der System eingestellt ist.
- In /etc/crypttab wurden die Einstellungen hinzugefügt: „keyfile-erase“ zum Löschen des Schlüssels nach der Verwendung und „try-empty-password“ zum Versuch, die Partition mit einem leeren Passwort zu entsperren, bevor der Benutzer zur Eingabe eines Passworts aufgefordert wird (nützlich für die Installation von verschlüsselten Images, bei denen das Passwort nach dem ersten Start und nicht während der Installation festgelegt wird).
- In systemd-cryptsetup wurde die Unterstützung zur Entsperrung von Microsoft BitLocker-Partitionen bei der Boot-Zeit über /etc/crypttab implementiert. Zudem wurde die Möglichkeit hinzugefügt,
Schlüssel zur automatischen Entsperrung von Partitionen aus den Dateien /etc/cryptsetup-keys.d/.key und /run/cryptsetup-keys.d/.key zu lesen. - Ein Systemd-xdg-autostart-generator wurde hinzugefügt, um Unit-Dateien aus Autostart .desktop-Dateien zu erstellen.
- In „bootctl“ wurde der Befehl „reboot-to-firmware“ hinzugefügt.
- In systemd-firstboot wurden die Optionen hinzugefügt: „—image“ zur Angabe des Disk-Images für den Boot, „—kernel-command-line“ zur Initialisierung der Datei /etc/kernel/cmdline, „—root-password-hashed“ zur Angabe des Hashs des Root-Passworts und „—delete-root-password“ zum Entfernen des Root-Passworts.
Quelle: opennet.ru
