systemd 245 disponible avec l'implémentation du répertoire personnel portable

Après trois mois de développement soumis version du gestionnaire de système systemd 245. Dans la nouvelle version, de nouveaux composants systemd-homed et systemd-repart sont ajoutés, la prise en charge des profils utilisateur portables au format JSON est incluse, la possibilité de définir des espaces de noms dans systemd-journald est fournie et la prise en charge du mécanisme « pidfd » est ajoutée. . Entièrement repensé site du projet, qui rassemble l'essentiel de la documentation disponible et propose un nouveau logo.

systemd 245 disponible avec l'implémentation du répertoire personnel portable

principal changements:

  • Service ajouté hébergé sur systemd, qui assure la gestion de répertoires personnels portables, livrés sous la forme d'un fichier image monté, dont les données sont cryptées. Systemd-homed vous permet de créer des environnements autonomes pour les données utilisateur qui peuvent être transférées entre différents systèmes sans vous soucier de la synchronisation et de la confidentialité des identifiants. Les informations d'identification de l'utilisateur sont liées au répertoire personnel plutôt qu'aux paramètres système : un profil au format est utilisé à la place de /etc/passwd, /etc/group et /etc/shadow JSON. Pour plus de détails, voir dernière annonce hébergé par systemd.
  • Ajout du composant compagnon hébergé par systemd "base de données utilisateur» (« systemd-userdb »), qui traduit les comptes UNIX/glibc NSS en enregistrements JSON et fournit une API Varlink unifiée pour interroger et itérer sur les enregistrements. Le profil JSON associé au répertoire personnel spécifie les paramètres requis pour le travail de l'utilisateur, notamment le nom d'utilisateur, le hachage du mot de passe, les clés de chiffrement, les quotas et les ressources provisionnées. Le profil peut être certifié avec une signature numérique stockée sur un jeton Yubikey externe. Pour gérer les profils, l'utilitaire « userdbctl » est proposé. La prise en charge des profils JSON a été ajoutée à divers composants systemd, notamment systemd-logind et pam-systemd, permettant aux utilisateurs de répertoires portables de s'authentifier, de se connecter, de définir des variables d'environnement, de créer une session, de définir des limites, etc. À l'avenir, il est prévu que le framework sssd soit capable de générer des profils JSON avec les paramètres utilisateur stockés dans LDAP.
  • Un nouvel utilitaire « systemd-repart » a été ajouté, conçu pour répartir les tables de partition de disque au format GPT. La structure des partitions est définie sous forme déclarative via des fichiers qui décrivent quelles partitions doivent ou peuvent exister. A chaque démarrage, la table de partition réelle est comparée à ces fichiers, après quoi les partitions manquantes sont ajoutées ou, si la taille relative ou absolue définie dans les paramètres ne correspond pas, la taille des partitions existantes est augmentée. Seules les modifications incrémentielles sont autorisées, c'est-à-dire la suppression et la réduction de la taille ne sont pas possibles, les partitions ne peuvent être qu'ajoutées et agrandies.
    L'utilitaire est conçu pour être lancé depuis initrd et détecte automatiquement le disque sur lequel se trouve la partition racine, ce qui ne nécessite aucune configuration supplémentaire, à l'exception des fichiers avec la définition des modifications.

    En pratique, systemd-repart peut être utile pour les images du système d'exploitation qui peuvent initialement être livrées sous une forme minimale, et après le premier démarrage peuvent être étendues à la taille du périphérique bloc existant ou complétées par des partitions supplémentaires (par exemple, la racine la partition peut être étendue pour couvrir la totalité du disque ou après le premier démarrage, créer une partition d'échange ou /home). Une autre utilisation serait les configurations avec deux partitions rotatives - seule la première partition pourrait être fournie initialement et la seconde serait créée au premier démarrage.

  • Il est désormais possible de lancer plusieurs instances de systemd-journald, chacune conservant les journaux dans son propre espace de noms. En plus du principal systemd-journald.service, le répertoire .service propose un modèle pour créer des instances supplémentaires liées à leurs espaces de noms à l'aide de la directive « LogNamespace ». Chaque espace de noms de journal est servi par un processus d'arrière-plan distinct avec son propre ensemble de paramètres et de limites. La fonctionnalité proposée peut être utile pour équilibrer la charge avec un grand volume de journaux ou pour améliorer l'isolation des applications. Ajout de l'option "--namespace" à journalctl pour limiter la requête à l'espace de noms spécifié uniquement.
  • Systemd-udevd et d'autres composants systemd ont ajouté la prise en charge d'un mécanisme d'attribution de noms alternatifs aux interfaces réseau, permettant d'utiliser plusieurs noms simultanément pour une interface. Le nom peut comporter jusqu'à 128 caractères (auparavant, le nom de l'interface réseau était limité à 16 caractères). Par défaut, systemd-udevd attribue désormais à chaque interface réseau tous les noms de variantes générés par les schémas de dénomination pris en charge. Ce comportement peut être modifié via les nouveaux paramètres AlternativeName et AlternativeNamesPolicy dans les fichiers .link. systemd-nspawn implémente la génération de noms alternatifs avec le nom complet du conteneur pour les liens veth créés côté hôte.
  • L'API sd-event.h ajoute la prise en charge du sous-système du noyau Linux "pidfd" pour gérer la situation de réutilisation de PID (pidfd est associé à un processus spécifique et ne change pas, tandis qu'un PID peut être associé à un autre processus après le processus en cours qui lui est associé sort de ce PID). Tous les composants systemd à l'exception du PID 1 ont été convertis pour utiliser pidfds si le sous-système est pris en charge par le noyau actuel.
  • systemd-logind fournit des contrôles d'accès pour l'opération de changement de terminal virtuel via PolicyKit. Par défaut, les autorisations de changement de terminal actif sont accordées uniquement aux utilisateurs ayant initié au moins une session sur le terminal virtuel local.
  • Pour faciliter la création d'images initrd avec systemd, le gestionnaire PID 1 détecte désormais si l'initrd est utilisé et dans ce cas charge automatiquement initrd.target au lieu de default.target. Avec cette approche, les images système initrd et principale ne peuvent différer qu'en présence du fichier /etc/initrd-release.
  • Ajout d'un nouveau paramètre de ligne de commande du noyau - "systemd.cpu_affinity", équivalent à l'option CPUAffinity dans /etc/systemd/system.conf et vous permettant de configurer le masque d'affinité CPU pour le PID 1 et d'autres processus.
  • Activation du rechargement de la base de données SELinux ainsi que du redémarrage du PID 1 via des commandes telles que "systemctl daemon-reload".
  • Le paramètre « systemd.show-status=error » a été ajouté au gestionnaire PID 1, lorsqu'il est défini, seuls les messages d'erreur et les retards importants lors du chargement sont affichés sur la console.
  • systemd-sysusers a ajouté la prise en charge de la création d'utilisateurs avec un nom de groupe principal différent du nom d'utilisateur.
  • systemd-growfs introduit la prise en charge de l'extension de partition XFS via l'option de montage x-systemd.growfs dans /etc/fstab, en plus de l'extension de partition précédemment prise en charge avec Ext4 et Btrfs.
  • Ajout de l'option x-initrd.attach à /etc/crypttab pour définir une partition chiffrée déjà déverrouillée à l'étape initrd.
  • systemd-cryptsetup a ajouté la prise en charge (option pkcs11-uri dans /etc/crypttab) pour déverrouiller les partitions chiffrées à l'aide de cartes à puce PKCS#11, par exemple pour attacher le chiffrement de partition aux YubiKeys.
  • De nouvelles options de montage "x-systemd.required-by" et "x-systemd.wanted-by" ont été ajoutées à /etc/fstab pour configurer explicitement les unités qui définissent les opérations de montage à appeler à la place de local-fs.target et distant -fs .cible.
  • Une nouvelle option de sandboxing de service a été ajoutée - ProtectClock, qui limite l'écriture sur l'horloge système (l'accès est bloqué au niveau de /dev/rtc, des appels système et des autorisations CAP_SYS_TIME/CAP_WAKE_ALARM).
  • Selon spécification Partitions détectables et systemd-gpt-auto-generator ont ajouté la détection de partition
    /var et /var/tmp.

  • Dans « systemctl list-unit-files », lors de l'affichage d'une liste d'unités, une nouvelle colonne est apparue qui reflète l'état d'activation proposé dans les préréglages du fabricant pour ce type d'unité.
  • Une option "-with-dependencies" a été ajoutée à "systemctl", une fois installées, des commandes comme "systemctl status" et "systemctl cat" afficheront non seulement toutes les unités correspondantes, mais aussi les unités dont elles dépendent.
  • Dans systemd-networkd, la configuration de qdisc a ajouté la possibilité de configurer les paramètres TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) et FQ (Fair Queue).
  • systemd-networkd a ajouté la prise en charge des périphériques réseau IFB (Bloc fonctionnel intermédiaire).
  • Systemd-networkd implémente le paramètre MultiPathRoute dans la section [Route] pour configurer les routes multi-chemins.
  • Dans systemd-networkd pour le client DHCPv4, l'option SendDecline a été ajoutée, lorsqu'elle est spécifiée, après avoir reçu une réponse DHCP avec une adresse, une vérification d'adresse en double est effectuée et si un conflit d'adresse est détecté, l'adresse émise est rejetée. L'option RouteMTUBytes a également été ajoutée au client DHCPv4, vous permettant de déterminer la taille MTU des routes générées à partir des liaisons d'adresses IP (baux).
  • Le paramètre PrefixRoute dans la section [Adresse] des fichiers .network est obsolète. Il a été remplacé par le paramètre « AddPrefixRoute », qui a la signification opposée.
  • Dans les fichiers .network, la prise en charge de la nouvelle valeur « _dhcp » a été ajoutée au paramètre Passerelle dans la section « [Route] », une fois définie, une route statique est sélectionnée en fonction de la passerelle configurée via DHCP.
  • Les paramètres sont apparus dans les fichiers .network dans la section « [RoutingPolicyRule] »
    User et SuppressPrefixLength pour spécifier le routage source en fonction des plages UID et de la taille du préfixe.

  • Dans networkctl, la commande « status » offre la possibilité d'afficher les journaux relatifs à chaque interface réseau.
  • systemd-networkd-wait-online ajoute la prise en charge de la définition du temps maximum d'attente pour qu'une interface devienne opérationnelle et d'attendre qu'une interface tombe en panne.
  • Arrêt du traitement des fichiers .link et .network avec une section « [Match] » vide ou commentée.
  • Dans les fichiers .link et .network, dans la section « [Match] », un paramètre « PermanentMACAddress » a été ajouté pour vérifier l'adresse MAC permanente des appareils en cas d'utilisation d'un MAC aléatoire généré.
  • La section « [TrafficControlQueueingDiscipline] » dans les fichiers .network a été renommée « [NetworkEmulator] » et le préfixe « NetworkEmulator » a été supprimé des noms des paramètres associés.
  • systemd-resolved pour DNS-over-TLS ajoute la prise en charge de la vérification SNI.

Source: opennet.ru

Ajouter un commentaire