Publication du gestionnaire de systĂšme systemd 257

AprĂšs six mois de dĂ©veloppement, la version du gestionnaire de systĂšme systemd 257 est prĂ©sentĂ©e. Changements clĂ©s : nouvelles utilitaires systemd-sbsign et systemd-keyutil, support de MPTCP lors de l'activation par socket, support initial pour la compilation avec la bibliothĂšque C Musl, l'utilitaire updatectl pour gĂ©rer l'installation des mises Ă  jour via systemd-sysupdate, possibilitĂ© de dĂ©marrer des services dans un espace de noms PID sĂ©parĂ©, protection contre la suppression accidentelle de fichiers lors de l'utilisation de « systemd-tmpfiles —purge ».

Parmi les changements de la nouvelle version :

  • Une nouvelle utilitaire systemd-sbsign a Ă©tĂ© ajoutĂ©e pour signer numĂ©riquement les fichiers exĂ©cutables au format PE (Portable Executable), destinĂ©s Ă  ĂȘtre utilisĂ©s lors du dĂ©marrage en mode EFI Secure Boot. Pour gĂ©nĂ©rer la signature, des moteurs et fournisseurs fournis par la bibliothĂšque OpenSSL peuvent ĂȘtre utilisĂ©s. Systemd-sbsign peut ĂȘtre utilisĂ© comme alternative aux applications sbsigntool et pesign dans l'utilitaire ukify lors de la crĂ©ation d'images de noyau universelles UKI (Unified Kernel Image), combinant en un seul fichier le chargeur pour UEFI (UEFI boot stub), l'image du noyau Linux et l'environnement systĂšme initrd chargĂ© en mĂ©moire.
  • Un nouvel utilitaire systemd-keyutil a Ă©tĂ© ajoutĂ©, implĂ©mentant diverses opĂ©rations sur les clĂ©s privĂ©es et les certificats X.509. Par exemple, systemd-keyutil peut ĂȘtre utilisĂ© pour vĂ©rifier la possibilitĂ© de charger des clĂ©s privĂ©es et des certificats, ainsi que pour en extraire les clĂ©s publiques au format PEM.
  • Dans les unitĂ©s « .socket », utilisĂ©es pour assurer le fonctionnement du mĂ©canisme d'activation par socket (lancement de processus lors de la tentative d'Ă©tablissement d'une connexion rĂ©seau), le support de MPTCP (Multipath TCP) a Ă©tĂ© implĂ©mentĂ©, une extension du protocole TCP pour Ă©tablir des connexions TCP en livrant des paquets simultanĂ©ment par plusieurs chemins Ă  travers diffĂ©rentes interfaces rĂ©seau, liĂ©es Ă  diffĂ©rentes adresses IP.
  • Des modifications nĂ©cessaires pour la compilation avec la bibliothĂšque standard C Musl ont Ă©tĂ© incluses.
  • Divers composants de systemd, affichant des indicateurs de progression des opĂ©rations (par exemple, systemd-repart, systemd-sysupdate/updatectl et importctl), ont Ă©tĂ© ajoutĂ©s avec la possibilitĂ© d'utiliser des sĂ©quences ANSI pour animer l'affichage de la progression. De telles sĂ©quences sont actuellement prises en charge uniquement dans le Windows Terminal (il est prĂ©vu que cette possibilitĂ© sera Ă©tendue aux Ă©mulateurs de terminaux pour Linux au fil du temps).
  • Les capacitĂ©s du composant systemd-sysupdate, utilisĂ© pour identifier, tĂ©lĂ©charger et installer automatiquement des mises Ă  jour en utilisant un mĂ©canisme atomique de remplacement de partitions, de fichiers ou de rĂ©pertoires, ont Ă©tĂ© Ă©tendues (deux partitions/fichiers/rĂ©pertoires indĂ©pendants sont utilisĂ©s, l'un contenant la ressource actuelle en cours d'exĂ©cution et l'autre accueillant la mise Ă  jour suivante, aprĂšs quoi les partitions/fichiers/rĂ©pertoires sont Ă©changĂ©s). En pratique, systemd-sysupdate est dĂ©jĂ  utilisĂ© dans GNOME OS.

    En plus du processus systemd-sysupdate, un service du mĂȘme nom a Ă©tĂ© ajoutĂ©, permettant d'utiliser D-Bus pour gĂ©rer la mise Ă  jour du systĂšme par un utilisateur non privilĂ©giĂ©. Une nouvelle utilitaire updatectl a Ă©galement Ă©tĂ© incluse pour la gestion du service. Un drapeau «—offline» a Ă©tĂ© ajoutĂ© Ă  systemd-sysupdate pour interdire le tĂ©lĂ©chargement de mĂ©tadonnĂ©es par rĂ©seau et utiliser uniquement les versions dĂ©jĂ  tĂ©lĂ©chargĂ©es sur le systĂšme local. Un support pour la sortie au format JSON a Ă©tĂ© ajoutĂ© Ă  toutes les commandes.

  • Un nouvel attribut «PrivatePIDs» a Ă©tĂ© implĂ©mentĂ© pour les services, permettant d’organiser le lancement de processus avec PID 1 (processus init) dans un espace d'identifiants de processus distinct (namespace PID). Dans l'environnement créé pour le processus lancĂ©, seuls les processus de l'espace de noms créé lui seront visibles.
  • Le systĂšme de rĂšgles udev a Ă©tĂ© mis Ă  jour pour supporter les correspondances sans tenir compte des majuscules (par exemple, ‘ATTR{foo}==i"abcd"‘). GrĂące Ă  udev, un accĂšs («uaccess») Ă  l'appareil /dev/udmabuf a Ă©tĂ© accordĂ© aux utilisateurs locaux non privilĂ©giĂ©s, nĂ©cessaire pour travailler avec des camĂ©ras IPMI via libcamera. udev a Ă©tĂ© mis en place pour reconnaĂźtre divers portefeuilles cryptographiques matĂ©riels avec interface USB et attribuer la propriĂ©tĂ© ID_HARDWARE_WALLET, permettant ainsi d'appliquer le mode «uaccess» pour l'accĂšs d'utilisateurs non privilĂ©giĂ©s.
  • De nouveaux champs RELEASE_TYPE, EXPERIMENT et EXPERIMENT_URL ont Ă©tĂ© ajoutĂ©s au fichier /etc/os-release. «RELEASE_TYPE» peut prendre les valeurs «experimental», «development», «stable» et «lts» pour distinguer les versions stables des versions en dĂ©veloppement et des compilations expĂ©rimentales. Les paramĂštres EXPERIMENT et EXPERIMENT_URL sont destinĂ©s Ă  expliquer la nature de la compilation expĂ©rimentale.
  • Dans l'outil run0, dĂ©veloppĂ© comme un remplacement du programme sudo, une option « —shell-prompt-prefix » a Ă©tĂ© ajoutĂ©e, permettant de dĂ©finir la chaĂźne prĂ©fixe de l'invite de la ligne de commande. Par dĂ©faut, un emoji « 🩾 » est affichĂ© comme prĂ©fixe pour mettre en Ă©vidence les sessions avec des privilĂšges Ă©levĂ©s.
  • Dans systemd-tmpfiles, pour Ă©viter la suppression accidentelle de fichiers incorrects, l'option « —purge » est dĂ©sormais appliquĂ©e uniquement aux configurations dans tmpfiles.d/ pour lesquelles le drapeau « $ » est explicitement dĂ©fini. Pour effectuer l'opĂ©ration « —purge », il est Ă©galement maintenant requis de spĂ©cifier au moins un fichier du rĂ©pertoire tmpfiles.d/. Pour les lignes de type ‘L’, un drapeau ‘?’ a Ă©tĂ© ajoutĂ©, indiquant qu'un lien symbolique ne sera créé que si le fichier cible est prĂ©sent.
  • Dans le gestionnaire de services et les utilitaires associĂ©s, la migration du code de suivi des processus vers l'utilisation de PIDFD au lieu de PID a Ă©tĂ© poursuivie. L'identifiant PIDFD est liĂ© Ă  un processus spĂ©cifique et ne change pas, tandis que le PID peut ĂȘtre rĂ©affectĂ© Ă  un autre processus aprĂšs la fin du processus actuel associĂ© Ă  ce PID.
  • Pour les services, une option « RestartMode » avec la valeur « debug » a Ă©tĂ© mise en Ɠuvre, permettant le redĂ©marrage d'un service Ă©chouĂ© avec l'activation du mode de dĂ©bogage (la variable d'environnement DEBUG_INVOCATION=1 est dĂ©finie) et la valeur LogLevelMax sera temporairement Ă©levĂ©e au niveau de dĂ©bogage.
  • Dans le gestionnaire PID 1, la possibilitĂ© de charger des rĂšgles pour le module LSM IPE (Integrity Policy Enforcement) a Ă©tĂ© mise en Ɠuvre, dĂ©finissant la politique d'assurance de l'intĂ©gritĂ© pour l'ensemble du systĂšme (quelles opĂ©rations sont autorisĂ©es et comment vĂ©rifier l'authenticitĂ© des composants).
  • Dans les fichiers unit « .timer », une option « DeferReactivation » a Ă©tĂ© ajoutĂ©e, permettant de sauter l'activation suivante par le minuteur si le service n'a pas encore terminĂ© son exĂ©cution depuis la derniĂšre activation.
  • Dans le paramĂštre des fichiers unit PrivateUsers, la possibilitĂ© d'indiquer la valeur « identity » pour activer le mappage des identifiants utilisateurs lors de la crĂ©ation d'un espace de noms (user namespace) a Ă©tĂ© mise en Ɠuvre.
  • Dans le paramĂštre des fichiers unit PrivateTmp, le support de la valeur « disconnected » a Ă©tĂ© ajoutĂ©, permettant d'utiliser des instances distinctes de tmpfs pour les rĂ©pertoires /tmp/ et /var/tmp/.
  • Le paramĂštre unit des fichiers ProtectControlGroups a ajoutĂ© la prise en charge de nouveaux modes « privĂ© » et « strict », qui, lorsqu'ils sont dĂ©finis, crĂ©ent un nouvel espace de noms cgroup (cgroup namespace) pour le service et montent cgroupfs. Lors de l'activation de l'option « strict », le montage de cgroupfs se fait en mode lecture seule.
  • Dans les paramĂštres StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory et ConfigurationDirectory, il est dĂ©sormais possible d'utiliser le flag ‘:ro’ pour restreindre l'accĂšs aux rĂ©pertoires correspondants en mode lecture seule.
  • Le paramĂštre de ligne de commande du noyau « systemd.machine_id » a Ă©tĂ© enrichi de la prise en charge de la valeur « firmware », ce qui permet au systĂšme d'identification (machine ID) d'ĂȘtre calculĂ© Ă  partir de l'UUID provenant de SMBIOS/DeviceTree.
  • Ajout de la prise en charge des appels systĂšme mseal(), listmount() et statmount(), apparus dans les versions rĂ©centes du noyau Linux.
  • Les utilitaires resolvectl, timedatectl et systemd-inhibit incluent dĂ©sormais la prise en charge de l'autorisation interactive via Polkit.
  • L'utilitaire systemctl permet dĂ©sormais d'utiliser l'option « —now » avec la commande « reenable ».
  • L'outil systemd-mount a ajoutĂ© l'option « —json » pour afficher des rĂ©sultats au format JSON (par exemple, lorsqu'il est utilisĂ© avec l'option « —list-devices », il affichera la liste des pĂ©riphĂ©riques au format JSON).
  • L'outil « localectl » a Ă©tĂ© enrichi des options « -l » et « —full » pour dĂ©sactiver la troncature des longues lignes lors de l'affichage.
  • Dans sleep.conf, l'option HibernateOnACPower a Ă©tĂ© ajoutĂ©e pour retarder la mise en veille jusqu'Ă  ce que l'appareil soit dĂ©connectĂ© de la source d'alimentation principale.
  • Dans systemd-sysusers, les lignes « u » ont Ă©tĂ© mises Ă  jour pour inclure le modificateur « ! », permettant la crĂ©ation de comptes utilisateurs complĂštement bloquĂ©s (auparavant, le blocage d'un utilisateur Ă©tait effectuĂ© en attribuant un mot de passe incorrect, ce qui ne menait pas Ă  un blocage lors de l'authentification par clĂ©s SSH).
  • Dans systemd-coredump, l'option « EnterNamespace » a Ă©tĂ© ajoutĂ©e, fournissant un accĂšs aux espaces de montage de tout processus ayant rencontrĂ© une erreur pour obtenir leurs symboles de dĂ©bogage. En pratique, cette option peut ĂȘtre utile pour rĂ©aliser une rĂ©trotrace (backtrace) des fichiers core des applications exĂ©cutĂ©es dans des conteneurs isolĂ©s.
  • Dans systemd-logind, le traitement de la combinaison Ctrl-Alt-Shift-Esc a Ă©tĂ© activĂ© pour envoyer aux composants de l'environnement utilisateur le signal org.freedesktop.login1.SecureAttentionKey, demandant l'affichage d'un dialogue de connexion sĂ©curisĂ©. Une configuration 'DesignatedMaintenanceTime' a Ă©tĂ© mise en Ɠuvre pour planifier automatiquement l'arrĂȘt Ă  un moment donnĂ©. De maniĂšre similaire au support des appareils DRM et evdev, le support de la configuration d'accĂšs des utilisateurs non privilĂ©giĂ©s aux appareils hidraw (manettes de jeu et joysticks) a Ă©tĂ© ajoutĂ©.
  • Dans systemd-machined, le support de l'enregistrement par des clients non privilĂ©giĂ©s a Ă©tĂ© ajoutĂ©. machines virtuelles et des conteneurs. L'accĂšs Ă  la fonctionnalitĂ© systemd-machined est fourni via l'API Varlink, en plus de D-Bus.
  • Dans le fichier de configuration networkd.conf, une nouvelle section '[IPv6AddressLabel]' a Ă©tĂ© ajoutĂ©e pour configurer les Ă©tiquettes et les prĂ©fixes pour les adresses IPv6.
  • La commande ‘networkctl edit’ a Ă©tĂ© amĂ©liorĂ©e avec l'option ‘—stdin’ pour obtenir le contenu du fichier Ă  partir de l'entrĂ©e standard. Les commandes ‘networkctl edit’ et ‘networkctl cat’ supportent dĂ©sormais la modification et l'affichage de fichiers .netdev en spĂ©cifiant l'interface rĂ©seau. L'option ‘—no-ask-password’ a Ă©tĂ© ajoutĂ©e pour dĂ©sactiver l'authentification interactive.
  • Dans les utilitaires ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart et systemd-sbsign, l'option ‘—certificate-source’ a Ă©tĂ© ajoutĂ©e pour charger le certificat X.509 via le fournisseur OpenSSL au lieu de le charger directement depuis un fichier.
  • Dans systemd-boot, il est dĂ©sormais possible d'utiliser les boutons de volume pour naviguer vers le haut et vers le bas dans le menu de dĂ©marrage, ce qui peut ĂȘtre utile sur des appareils tels que les smartphones. L'utilitaire bootctl a Ă©tĂ© mis Ă  jour pour prendre en charge l'installation de la base de donnĂ©es UEFI Secure Boot au format ESL(db/dbx/
) pour systemd-boot.
  • Dans journalctl, l'option ‘—list-invocation’ a Ă©tĂ© ajoutĂ©e pour afficher la liste des appels des unitĂ©s, ainsi que l'option ‘—invocation’ (‘-I’) pour afficher uniquement les journaux liĂ©s Ă  un appel spĂ©cifique.
  • Dans systemd-nspawn, le support de l'utilisation non privilĂ©giĂ©e de FUSE (Filesystem in Userspace) dans les conteneurs a Ă©tĂ© ajoutĂ©. Lors de l'utilisation de l'option ‘—bind-user’, le transfert des clĂ©s SSH de l'utilisateur dans le conteneur est assurĂ©, ce qui est nĂ©cessaire pour l'accĂšs SSH.
  • Dans libsystemd, une nouvelle interface logicielle ‘sd-json’ utilisant le format JSON a Ă©tĂ© ajoutĂ©e, ainsi que l'interface ‘sd-varlink’ utilisant l'IPC Varlink.
  • La version de base recommandĂ©e du noyau a Ă©tĂ© portĂ©e Ă  la version 5.4, publiĂ©e en 2019. L'annĂ©e suivante, il est prĂ©vu de cesser le support des noyaux plus anciens et de marquer la version 5.4 comme la version de base minimale prise en charge.
  • Le support des cgroups v1 est considĂ©rĂ© comme obsolĂšte et dĂ©sactivĂ© par dĂ©faut (pour l'activer, il est nĂ©cessaire de spĂ©cifier SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 dans la ligne de commande du noyau, en plus de l'activation dans les paramĂštres de systemd). Lors de la prochaine version systemd 258, le code associĂ© aux cgroups v1 sera complĂštement supprimĂ©. La version systemd 258 prĂ©voit Ă©galement la suppression du support des scripts de services System V.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster