gestionnaire de système systemd version 246

Après cinq mois de développement soumis version du gestionnaire de système systemd 246. La nouvelle version inclut la prise en charge des unités de gel, la possibilité de vérifier l'image du disque racine à l'aide d'une signature numérique, la prise en charge de la compression des journaux et des vidages de mémoire à l'aide de l'algorithme ZSTD, la possibilité de déverrouiller des répertoires personnels portables à l'aide de jetons FIDO2, la prise en charge du déverrouillage de Microsoft BitLocker. partitions via /etc/crypttab, BlackList a été renommée DenyList.

principal changements:

  • Ajout de la prise en charge du contrôleur de ressources congélateur basé sur cgroups v2, avec lequel vous pouvez arrêter les processus et libérer temporairement certaines ressources (CPU, E/S et potentiellement même mémoire) pour effectuer d'autres tâches. La congélation et le dégivrage des unités sont contrôlés à l'aide de la nouvelle commande « systemctl freeze » ou via D-Bus.
  • Ajout de la prise en charge de la vérification de l'image disque racine à l'aide d'une signature numérique. La vérification est effectuée à l'aide de nouveaux paramètres dans les unités de service : RootHash (hachage racine pour vérifier l'image disque spécifiée via l'option RootImage) et RootHashSignature (signature numérique au format PKCS#7 pour le hachage racine).
  • Le gestionnaire PID 1 implémente la possibilité de charger automatiquement des règles AppArmor précompilées (/etc/apparmor/earlypolicy) lors de la phase de démarrage initiale.
  • Ajout de nouveaux paramètres de fichier d'unité : ConditionPathIsEncrypted et AssertPathIsEncrypted pour vérifier l'emplacement du chemin spécifié sur un périphérique bloc qui utilise le cryptage (dm-crypt/LUKS), ConditionEnvironment et AssertEnvironment pour vérifier les variables d'environnement (par exemple, celles définies par PAM ou lors de la configuration des conteneurs).
  • Pour les unités *.mount, le paramètre ReadWriteOnly a été implémenté, qui interdit le montage d'une partition en mode lecture seule s'il n'était pas possible de la monter en lecture et en écriture. Dans /etc/fstab, ce mode est configuré à l'aide de l'option « x-systemd.rw-only ».
  • Pour les unités *.socket, un paramètre PassPacketInfo a été ajouté, qui permet au noyau d'ajouter des métadonnées supplémentaires pour chaque paquet lu à partir du socket (active les modes IP_PKTINFO, IPV6_RECVPKTINFO et NETLINK_PKTINFO pour le socket).
  • Pour les services (unités *.service), les paramètres CoredumpFilter sont proposés (définit les sections de mémoire qui doivent être incluses dans les core dumps) et
    TimeoutStartFailureMode/TimeoutStopFailureMode (définit le comportement (SIGTERM, SIGABRT ou SIGKILL) lorsqu'un timeout survient lors du démarrage ou de l'arrêt d'un service).

  • La plupart des options prennent désormais en charge les valeurs hexadécimales spécifiées à l'aide du préfixe « 0x ».
  • Dans divers paramètres de ligne de commande et fichiers de configuration liés à la configuration des clés ou des certificats, il est possible de spécifier le chemin vers les sockets Unix (AF_UNIX) pour transférer les clés et les certificats via des appels aux services IPC lorsqu'il n'est pas souhaitable de placer des certificats sur un disque non chiffré. stockage.
  • Ajout de la prise en charge de six nouveaux spécificateurs pouvant être utilisés dans les unités, tmpfiles.d/, sysusers.d/ et d'autres fichiers de configuration : %a pour remplacer l'architecture actuelle, %o/%w/%B/%W pour remplacer les champs par identifiants de /etc/os-release et %l pour la substitution de nom d'hôte court.
  • Les fichiers unitaires ne prennent plus en charge la syntaxe « .include », obsolète il y a 6 ans.
  • Les paramètres StandardError et StandardOutput ne prennent plus en charge les valeurs « syslog » et « syslog-console », qui seront automatiquement converties en « journal » et « journal+console ».
  • Pour les points de montage basés sur tmpfs créés automatiquement (/tmp, /run, /dev/shm, etc.), des limites sur la taille et le nombre d'inodes sont fournies, correspondant à 50 % de la taille de la RAM pour /tmp et /dev/ shm, et 10% de RAM pour tout le monde.
  • Ajout de nouvelles options de ligne de commande du noyau : systemd.hostname pour définir le nom d'hôte lors de la phase de démarrage initiale, udev.blockdev_read_only pour limiter tous les périphériques de bloc associés aux lecteurs physiques en mode lecture seule (vous pouvez utiliser la commande "blockdev --setrw" pour annuler sélectivement), systemd .swap pour désactiver l'activation automatique de la partition de swap, systemd.clock-usec pour régler l'horloge système en microsecondes, systemd.condition-needs-update et systemd.condition-first-boot pour remplacer ConditionNeedsUpdate et ConditionFirstBoot chèques.
  • Par défaut, sysctl fs.suid_dumpable est défini sur 2 (« suidsafe »), ce qui permet d'enregistrer les core dumps pour les processus avec l'indicateur suid.
  • Le fichier /usr/lib/udev/hwdb.d/60-autosuspend.hwdb a été emprunté à la base de données matérielle de ChromiumOS, qui comprend des informations sur les périphériques PCI et USB prenant en charge le mode veille automatique.
  • Un paramètre ManageForeignRoutes a été ajouté à networkd.conf, lorsqu'il est activé, systemd-networkd commencera à gérer toutes les routes configurées par d'autres utilitaires.
  • Une section « [SR-IOV] » a été ajoutée aux fichiers .network pour configurer les périphériques réseau prenant en charge SR-IOV (Single Root I/O Virtualization).
  • Dans systemd-networkd, le paramètre IPv4AcceptLocal a été ajouté à la section « [Network] » pour permettre aux paquets arrivant avec une adresse source locale d'être reçus sur l'interface réseau.
  • systemd-networkd a ajouté la possibilité de configurer les disciplines de priorisation du trafic HTB via [HierarchyTokenBucket] et
    [HierarchyTokenBucketClass], "pfifo" via [PFIFO], "GRED" via [GenericRandomEarlyDetection], "SFB" via [StochasticFairBlue], "gâteau"
    via [CAKE], "PIE" via [PIE], "DRR" via [DeficitRoundRobinScheduler] et
    [DeficitRoundRobinSchedulerClass], "BFIFO" via [BFIFO],
    "PFIFOHeadDrop" via [PFIFOHeadDrop], "PFIFOFast" via [PFIFOFast], "HHF"
    via [HeavyHitterFilter], "ETS" via [EnhancedTransmissionSelection],
    "QFQ" via [QuickFairQueueing] et [QuickFairQueueingClass].

  • Dans systemd-networkd, un paramètre UseGateway a été ajouté à la section [DHCPv4] pour désactiver l'utilisation des informations de passerelle obtenues via DHCP.
  • Dans systemd-networkd, dans les sections [DHCPv4] et [DHCPServer], un paramètre SendVendorOption a été ajouté pour l'installation et le traitement d'options supplémentaires du fournisseur.
  • systemd-networkd implémente un nouvel ensemble d'options EmitPOP3/POP3, EmitSMTP/SMTP et EmitLPR/LPR dans la section [DHCPServer] pour ajouter des informations sur les serveurs POP3, SMTP et LPR.
  • Dans systemd-networkd, dans les fichiers .netdev de la section [Bridge], un paramètre VLANProtocol a été ajouté pour sélectionner le protocole VLAN à utiliser.
  • Dans systemd-networkd, dans les fichiers .network de la section [Link], le paramètre Group est implémenté pour gérer un groupe de liens.
  • Les paramètres de la liste noire ont été renommés DenyList (en préservant l'ancienne gestion des noms pour une compatibilité ascendante).
  • Systemd-networkd a ajouté une grande partie des paramètres liés à IPv6 et DHCPv6.
  • Ajout de la commande « forcerenew » à networkctl pour forcer la mise à jour de toutes les liaisons d'adresses (bail).
  • Dans systemd-resolved, dans la configuration DNS, il est devenu possible de spécifier le numéro de port et le nom d'hôte pour la vérification du certificat DNS-over-TLS. L'implémentation DNS sur TLS a ajouté la prise en charge de la vérification SNI.
  • Systemd-resolved a désormais la possibilité de configurer la redirection de noms DNS en une seule partie (en une seule partie, à partir d'un nom d'hôte).
  • systemd-journald prend en charge l'utilisation de l'algorithme zstd pour compresser des champs volumineux dans les journaux. Des travaux ont été effectués pour se protéger contre les collisions dans les tables de hachage utilisées dans les journaux.
  • Des URL cliquables avec des liens vers la documentation ont été ajoutées à journalctl lors de l'affichage des messages de journal.
  • Ajout d'un paramètre d'audit à journald.conf pour contrôler si l'audit est activé lors de l'initialisation de systemd-journald.
  • Systemd-coredump a désormais la possibilité de compresser les core dumps à l'aide de l'algorithme zstd.
  • Ajout du paramètre UUID à systemd-repart pour attribuer un UUID à la partition créée.
  • Le service systemd-homed, qui assure la gestion des répertoires personnels portables, a ajouté la possibilité de déverrouiller les répertoires personnels à l'aide de jetons FIDO2. Le backend de chiffrement de partition LUKS a ajouté la prise en charge du renvoi automatique des blocs de système de fichiers vides à la fin d'une session. Ajout d'une protection contre le double cryptage des données s'il est déterminé que la partition /home du système est déjà cryptée.
  • Ajout de paramètres à /etc/crypttab : « keyfile-erase » pour supprimer une clé après utilisation et « try-empty-password » pour tenter de déverrouiller une partition avec un mot de passe vide avant de demander un mot de passe à l'utilisateur (utile pour installer des images cryptées avec un mot de passe attribué après le premier démarrage, pas lors de l'installation).
  • systemd-cryptsetup ajoute la prise en charge du déverrouillage des partitions Microsoft BitLocker au démarrage à l'aide de /etc/crypttab. Ajout également de la possibilité de lire
    clés pour déverrouiller automatiquement les partitions à partir des fichiers /etc/cryptsetup-keys.d/ .key et /run/cryptsetup-keys.d/ .clé.

  • Ajout de systemd-xdg-autostart-generator pour créer des fichiers d'unité à partir des fichiers de démarrage automatique .desktop.
  • Ajout de la commande "reboot-to-firmware" à "bootctl".
  • Options ajoutées à systemd-firstboot : "--image" pour spécifier l'image disque à démarrer, "--kernel-command-line" pour initialiser le fichier /etc/kernel/cmdline, "--root-password-hashed" pour spécifiez le hachage du mot de passe root et "--delete-root-password" pour supprimer le mot de passe root.

Source: opennet.ru

Ajouter un commentaire