in

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

isak55 / Shutterstock

L’équipe derrière systemd souhaitent que vous adoptiez une nouvelle façon de gérer les répertoires personnels. Appeler cela une «nouvelle façon», c’est le mettre à la légère – c’est un véritable 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 étranger à la controverse

Lorsque 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 moquaient d’une manière ou d’une autre.

La réaction des opposants était forte, passionnée et, dans certains cas, presque fanatique. Lennart Poettering, ingénieur logiciel chez chapeau rouge 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 semblaient essayer de forcer 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 porté le poids.

Pourtant, en huit mois, Fedora utilisait systemd. À la fin de 2013, Cambre, Debian, Manjaro, et Ubuntu avaient tous déménagé systemd. Bien sûr, la gloire de l’open source est que si vous n’aimez pas quelque chose, vous pouvez dériver le code source et faire votre propre truc avec. Nouvelles distributions, comme Devuan, qui était un fork de Debian, ont été créés uniquement pour éviter d’utiliser systemd.

Votre répertoire $ HOME

Dans la structure de répertoires Linux, tout ce que vous faites se trouve 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 utilisateur.

Les paramètres de vos applications sont stockés dans votre dossier de départ dans des «répertoires de points» masqués. Si le premier caractère d’un nom de fichier ou de répertoire est un point (.), Il est masqué. Étant donné que ces paramètres sont stockés localement et non dans un registre central – et qu’une sauvegarde de votre répertoire de base inclut 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, elle 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 les informations de votre compte e-mail et votre e-mail. Vous n’avez pas à vous soucier de la configuration lente de chaque application.

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

ls

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

ls -a

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

Parce que c’est la partie la plus précieuse d’une installation, il est courant que le répertoire «/ home» soit monté dans sa propre partition ou sur un disque dur séparé. 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 domestique existante sur «/ home».

Données vous concernant

Votre répertoire personnel ne stocke pas seulement vos données; il stocke également des informations sur vous. 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 sur 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 en lire certains, mais d’autres ne peuvent être lus que par des personnes disposant des privilèges root.

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

cat /etc/passwd

Les changements hébergés par systemd

L’intention de la 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 un même panier», les répertoires personnels sont cryptés. Ils sont déchiffrés automatiquement chaque fois que vous vous connectez et à nouveau chiffrés chaque fois que vous vous déconnectez. La méthode préférée est d’utiliser le Configuration de la clé unifiée Linux (LUKS) chiffrement de disque. Cependant, il existe d’autres systèmes disponibles, tels que fscrypt.

UNE Notation d’objets JavaScript L’enregistrement utilisateur (JSON) stocke toutes vos informations d’identité dans un répertoire appelé «~ / .identity». Il est signé cryptographiquement avec une clé hors de votre contrôle.

Le répertoire personnel de chaque personne est monté sur un périphérique de bouclage, de la même manière qu’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?

Étant donné 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 vos ordinateurs professionnels et personnels, ou tout autre systemd-homed l’ordinateur.

C’est ce que Poettering entendait par «un répertoire personnel entièrement portable». Il a dit que même si vous ne voulez 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 les «bases de données side-car», qui contiennent des extraits d’informations importantes sur vous que Poettering pense qu’il faudrait centraliser. 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 Superviseur des opérations complètes de General Electric Champ (GECOS).

Poettering a dit ceci métadonnées doivent être rationalisés et stockés 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 de 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.

Les fuseaux horaires et d’autres informations basées sur l’emplacement 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 que ce n’est qu’un point de montage. L’emplacement du répertoire de base chiffré réel 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. Les méthodes standard d’administration des utilisateurs seront toujours nécessaires. Par conséquent, systemd-homed n’est pas une solution globale.

Il y a un connu catch-22 cela 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 chiffré jusqu’à ce que personne se connecte. Bien sûr, il faut les clés SSH pour s’authentifier avant de pouvoir se connecter.

C’était un problème reconnu par le systemd-homed team, mais nous n’avons trouvé aucune référence sur un correctif pour cela. Nous sommes sûrs qu’ils trouveront une solution; ce serait une chute spectaculaire s’ils ne le faisaient pas.

Disons que quelqu’un transporte son répertoire personnel sur une nouvelle machine. Si l’UID est déjà utilisé sur la nouvelle machine par quelqu’un d’autre, il se verra attribuer un nouvel UID automatiquement. Bien entendu, tous ses fichiers devront avoir leur propriété réaffectée au nouvel UID.

Actuellement, cela est géré par une application récursive et automatique de les chown -R commander. Cela sera probablement traité différemment à l’avenir lorsqu’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 comme d’autres utilisateurs.

Quand cela se produit-il?

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

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

systemd --version

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

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

Il n’est donc pas nécessaire que quiconque passe en mode fourches et torches enflammées. Étant donné que les méthodes standard de gestion des utilisateurs et des répertoires personnels resteront, nous aurons tous encore des choix.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Non, vous n’avez pas besoin d’un antivirus sur un Chromebook

Comment modifier l'emplacement du dossier de téléchargement de la mise à jour Windows 10

Comment modifier l’emplacement du dossier de téléchargement de la mise à jour Windows 10