Agence web » Actualités du digital » Systemd va changer le fonctionnement de votre répertoire personnel Linux

Systemd va changer le fonctionnement de votre répertoire personnel Linux

L'équipe derrière systemd vous voulez adopter une nouvelle façon de gérer les répertoires personnels. Le qualifier de «nouvelle façon», c'est le mettre à la légère – c'est un vrai changement de paradigme pour Linux. Voici tout ce que vous devez savoir sur systemd-homed, qui arrivera probablement dans une distribution Linux près de chez vous.

Pas de controverse

Quand systemd a été introduite en 2010, la communauté Linux s'est divisée en trois camps. Certains pensaient que c'était une amélioration, et d'autres pensaient que c'était une conception défectueuse qui n'adhérait pas à la philosophie Unix. Et certains s'en fichaient d'une façon ou d'une autre.

Le contrecoup des adversaires était fort, chauffé et, dans certains cas, presque fanatique. Lennart Poettering, ingénieur logiciel chez Red Hat et co-développeur de systemd, a même reçu des menaces de mort.

Des chansons prônant la violence envers Poettering ont été publiées sur YouTube, et des sites Web ont semblé essayer de contraindre les utilisateurs de Linux à boycotter systemd. Son co-développeur, Kay Sievers, a également reçu des critiques et des abus, mais Poettering en a certainement subi le poids.

Pourtant, en huit mois, Fedora utilisait systemd. À la fin de 2013, Arch, Debian, Manjaro et Ubuntu étaient tous passés à systemd. Bien sûr, la gloire de l'open source est que si vous n'aimez pas quelque chose, vous pouvez forker le code source et faire votre propre chose avec. De nouvelles distributions – comme Devuan, qui était un fork de Debian – ont été créées uniquement pour éviter d'utiliser systemd.

Votre Annuaire $ HOME

Dans la structure du répertoire Linux, tout ce que vous faites réside dans le répertoire «/ home». Vos fichiers de données, images, musique et toute l'arborescence de répertoires personnels sont stockés dans ce répertoire nommé d'après votre compte d'utilisateur.

Les paramètres de vos applications sont stockés dans votre dossier personnel dans des «répertoires à points» masqués. Si le premier caractère d'un nom de fichier ou de répertoire est un point (.), Il est masqué. Parce que ces paramètres sont stockés localement et non dans un registre central – et parce qu'une sauvegarde de votre répertoire personnel comprend ces fichiers et dossiers cachés – tous vos paramètres sont également sauvegardés.

Lorsque vous restaurez une sauvegarde et lancez une application, comme LibreOffice ou Thunderbird, il recherche son répertoire caché. Il trouve également vos préférences de document, les paramètres de la barre d'outils et toute autre personnalisation. Thunderbird trouve vos informations de compte de messagerie et votre messagerie. Vous n'avez pas à passer par la peine de configurer lentement chaque application.

Vous pouvez utiliser ls avec le -a (all) option pour voir les fichiers et répertoires cachés. Tout d'abord, saisissez ce qui suit:

ls

Cela vous montre les fichiers et répertoires habituels. Ensuite, saisissez ce qui suit:

ls -a

Maintenant, vous pouvez voir les fichiers et répertoires cachés.

Comme il s'agit de la partie la plus précieuse d'une installation, il est courant que le répertoire «/ home» soit monté sur sa propre partition ou sur un disque dur distinct. De cette façon, si quelque chose de catastrophique arrive au système d'exploitation ou à la partition sur laquelle il se trouve, vous pouvez soit réinstaller votre distribution Linux, soit passer à une nouvelle. Ensuite, vous pouvez simplement remonter votre partition home existante sur "/ home".

Données vous concernant

Votre répertoire personnel ne stocke pas seulement vos données; il stocke également des informations vous concernant. y compris certains attributs de votre identité numérique. Par exemple, votre répertoire «.ssh» stocke des informations sur les connexions à distance que vous avez établies avec d'autres ordinateurs et toutes les clés SSH que vous avez générées.

D'autres attributs système, tels que le nom d'utilisateur, le mot de passe et l'ID utilisateur unique de votre compte, sont stockés ailleurs dans des fichiers tels que «/ etc / passwd» et «/ etc / shadow». Tout le monde peut lire certains d'entre eux, mais d'autres ne peuvent être lus que par des personnes disposant de privilèges root.

Voici à quoi ressemble le contenu du fichier «/ etc / passwd»:

cat /etc/passwd

Les changements hébergés par Systemd

L'intention du systemd-homed changements consiste à fournir un répertoire personnel entièrement portable contenant à la fois vos données et votre identité numérique Linux. Votre UID et tous les autres mécanismes d'identification et d'authentification seront stockés uniquement dans votre répertoire personnel.

En raison de leur conception «tous les œufs dans le même panier», les répertoires personnels sont cryptés. Ils sont décryptés automatiquement chaque fois que vous vous connectez et cryptés à nouveau lorsque vous vous déconnectez. La méthode préférée consiste à utiliser le chiffrement de disque LUKS (Linux Unified Key Setup). Cependant, il existe d'autres schémas disponibles, tels que fscrypt.

Un enregistrement d'utilisateur JavaScript Object Notation (JSON) stocke toutes vos informations d'identité dans un répertoire appelé «~ / .identity». Il est signé de manière cryptographique avec une clé hors de votre contrôle.

Le répertoire personnel de chaque personne est monté sur un périphérique de bouclage, semblable à la manière dont un snap l'application est montée. C'est ainsi que l'arborescence de répertoires dans le répertoire de base apparaît comme une partie transparente de l'arborescence de répertoires du système d'exploitation. Le point de montage par défaut est «/home/$USER.homedir» («$ USER» est remplacé par le nom du compte de la personne).

Quels sont les bénéfices?

Parce que votre répertoire personnel devient une encapsulation sécurisée de toutes vos données, vous pouvez même avoir votre répertoire personnel sur un périphérique amovible. Par exemple, vous pouvez utiliser une clé USB pour la déplacer entre votre ordinateur de travail et votre ordinateur personnel, ou tout autre systemd-homed ordinateur.

C'est ce que Poettering entendait par «un répertoire personnel entièrement portable». Il a déclaré que même si vous ne souhaitez pas déplacer votre répertoire personnel sur un appareil portable, cela facilitera les mises à niveau et les migrations et augmentera la sécurité.

Il supprime ce qu'il appelle des «bases de données de sidecar», qui contiennent des extraits d'informations importantes sur vous qui, selon Poettering, devraient être centralisées. Les fichiers «/ etc / passwd» et «/ etc / shadow» contiennent des informations d'authentification et des mots de passe hachés. Cependant, ils contiennent également des informations telles que votre shell par défaut, le champ GECOS (General Electric Comprehensive Operating Supervisor).

Poettering a déclaré que ces métadonnées devraient être rationalisées et stockées dans des groupes significatifs dans l'enregistrement JSON de chaque personne dans leur répertoire personnel.

Gérer votre nouveau $ HOME

le systemd-homed le service est contrôlé par le nouveau homectl outil en ligne de commande.

Il existe des options pour créer des utilisateurs et des répertoires personnels et définir des limites de stockage pour chaque utilisateur. Vous pouvez également définir le mot de passe, verrouiller quelqu'un hors de son compte ou supprimer complètement un compte. Les utilisateurs peuvent être inspectés et leurs enregistrements utilisateur JSON peuvent également être lus.

Des fuseaux horaires et d'autres informations de localisation peuvent également être définis pour chaque utilisateur. Vous pouvez spécifier le shell par défaut et même définir des variables d'environnement afin qu'elles soient dans un certain état chaque fois que quelqu'un se connecte.

Si vous regardez dans le répertoire «/ home», vous voyez systemd-homed entrées gérées qui ressemblent à ce qui suit, avec «.homedir» ajouté au nom d'utilisateur:

/home/dave.homedir

N'oubliez pas, ce n'est qu'un point de montage. L'emplacement du répertoire personnel chiffré est ailleurs.

Limitations et problèmes

systemd-homed est uniquement destiné à être utilisé sur les comptes d'utilisateurs des humains. Il ne peut pas gérer les comptes d'utilisateurs avec un UID inférieur à 1 000. En d'autres termes, root, daemon, bin, etc. ne peuvent pas être administrés à l'aide du nouveau schéma. Il y aura toujours un besoin pour les méthodes standard d'administration des utilisateurs. Donc, systemd-homed n'est pas une solution globale.

Il existe un problème connu qui doit être résolu. Comme nous l'avons mentionné précédemment, le répertoire personnel d'une personne est déchiffré chaque fois qu'il se connecte. Mais si quelqu'un accède à distance à l'ordinateur via SSH, les clés SSH du répertoire personnel ne peuvent pas être référencées car le répertoire personnel est toujours crypté jusqu'à ce que personne se connecte. Bien sûr, il faut les clés SSH pour s'authentifier avant de pouvoir se connecter.

Ce fut un problème reconnu par la systemd-homed équipe, mais nous n'avons pas pu trouver de référence sur un correctif pour cela. Nous sommes sûrs qu’ils trouveront une solution; ce serait une chute spectaculaire si ce n'était pas le cas.

Supposons que quelqu'un transporte son répertoire personnel vers une nouvelle machine. Si l'UID est déjà utilisé sur la nouvelle machine par quelqu'un d'autre, un nouvel UID lui sera automatiquement attribué. Bien sûr, tous ses fichiers devront être réaffectés à leur nouvel UID.

Actuellement, cela est géré par une application récursive et automatique du chown -R commander. Cela sera probablement traité différemment à l'avenir quand un schéma plus élégant sera développé. Cette approche lourde ne prend pas en compte les démons et les processus qui s'exécutent en tant que d'autres utilisateurs.

Quand est-ce que cela se produit?

Cela se produit maintenant. Les modifications de code ont été soumises le 20 janvier 2020 et ont été incluses dans la version 245 de systemd, livré avec Ubuntu 20.04 en avril 2020.

Pour vérifier la version dont vous disposez, tapez ce qui suit:

systemd --version

le homectl cependant, la commande n’est pas encore présente. Ubuntu 20.04 utilise un répertoire / home traditionnel et n'utilise pas homed systemd.

Bien sûr, c'est aux distributions individuelles de décider quand elles incluront et prendront en charge systemd-homed et homectl.

Ainsi, personne n'a besoin de passer en mode fourches et torches allumées. Étant donné que les méthodes standard de gestion des utilisateurs et des répertoires personnels resteront, nous aurons tous encore des choix.

★★★★★