Discussions et informations sur ce qui se passe dans le monde de l'informatique.
Répondre

systemd homed - le chamboule-tout de notre HOME

#1Messageil y a 4 ans

:salut:

Les développeurs de systemd désirent encore l'étendre , et cette fois ci, ils s'attaquent aux utilisateurs et leur répertoire HOME ! une véritable révolution !!!

C'est la fin (si on utilise ce système...) de nos fichiers etc/{passwd, shadow, ...} :o ils sont remplacés par un seul fichier au format json

pour homed, les répertoires utilisateurs seraient des volumes LUKS donc invisibles aux autres utilisateurs et démontables à la déconnexion voir au verrouillage de l'écran



source (en) très bien expliquée
Les travaux en cours (rien depuis cet été...) et il reste encore du travail
Sujet à l'inter - très très bien accueilli bien entendu :wink:

systemd homed - le chamboule-tout de notre HOME

#2Messageil y a 4 ans

je me méfie de plus en plus de ces systeme-commanded (nomtreslongdecommande) <parametresx1000>
mais aussi de l'aspect sécurité sur la partie code de systemd ,
par contre pour ce type de gestion il n' a pas le droit à une seule erreur pour que la bascule se passe bien
Dernière modification par stephaneil y a 4 ans, modifié au total 2 fois.

systemd homed - le chamboule-tout de notre HOME

#3Messageil y a 4 ans

Voila cela arrive avec la prochaine version 245 (reste encore un petit peu de travail)

systemd-userdb.service qui regroupe les configs système des utilisateurs et groupes.
Et systemd-homed.service qui permet de chiffrer notre home pour pouvoir le transporter sur une autre machine, mais aussi le chiffre donc le rend plus imperméable aux autres utilisateurs


Qui va activer ces services ? :rigole:

La doc officielle de systemd est sur ce site https://systemd.io/

systemd homed - le chamboule-tout de notre HOME

#4Messageil y a 4 ans

Intéressant ! Merci :)

systemd homed - le chamboule-tout de notre HOME

#5Messageil y a 4 ans

papajoke a écrit : il y a 4 ans Qui va activer ces services ? :rigole:
Pas moi, déjà je ne veux pas Luks sur mes disques :sourire: . Il y a peut être un intérêt pour des personnes qui se partageraient une machine à tour de rôle. Tu viens avec ton /home et tes données perso sur un disque dur externe, à connecter à la machine. Une fois le boulot fini, tu repars avec ton disque sous le bras, laissant la place libre à une autre personne.

systemd homed - le chamboule-tout de notre HOME

#6Messageil y a 4 ans

voila le bébé 245 est sorti le 6 mars (pas encore dans les dépôts)

Les grosses nouveautés pour les utilisateurs:
  • systemd-homed.service : répertoire personnel avec un chiffrage intégré (fscrypt, LUKS) ou non (btrfs, cifs)
  • systemd-userdb.service : userdbctl config utilisateur centralisée
  • systemd-repart : retailler les partitions gpt (uniquement agrandir !)
  • logs systemd : les namespaces - possibilité d'assigner un journal particulier à un/des service

systemd homed - le chamboule-tout de notre HOME

#7Messageil y a 4 ans

on verra bien ce qui va se passer pour le 1er venu
qui indiquera un bug systemd-homed.service parce qu'il ne peut accepter son mot de passe ...

systemd homed - le chamboule-tout de notre HOME

#8Messageil y a 4 ans

stephane a écrit : il y a 4 ans on verra bien ce qui va se passer pour le 1er venu
qui indiquera un bug systemd-homed.service parce qu'il ne peut accepter son mot de passe ...
Si ça utilise luks ou fscrypt, qui sont éprouvés, je doute que ça foire à ce niveau ou ça voudrait dire que la base utilisateur est en vrac. De plus, je vois mal les distros proposer l'option dans leur installateur, ce serait vouloir jouer avec le feu, et ce ne sera pas le premier venu qui mettra ce genre de système en place.

systemd homed - le chamboule-tout de notre HOME

#9Messageil y a 4 ans

En fait ce système permet de "simplifier" l'utilisation de LUKS avec son home
D'après ce que j'ai compris, avec ce nouveau système, c'est (le login) la connexion de l'utilisateur qui va monter/déverrouiller le home. Donc le montage devient complètement transparent pour ceux qui désirent avoir un home chiffré

systemd homed - le chamboule-tout de notre HOME

#10Messageil y a 4 ans

jusqu'au jour ou le home ne monte plus ...
ou ne reconnaît plus le mot de passe ...

systemd homed - le chamboule-tout de notre HOME

#11Messageil y a 4 ans

oui, il y a un risque dès que l'on rajoute une couche

Mais ici je ne vois rien de plus par rapport à l'existant (calamares propose un home Luks)
Au contraire (il me semble), on a un fichier Luks et non une partition bloquée, ce fichier est donc toujours accessible (et transportable)
donc je peux à la limite, si systemd est cassé, faire une commande du type

cryptsetup luksOpen "mon_fichier_home.img" monvolumechiffre
mount /dev/mapper/monvolumechiffre "/home/$USER"
ps: si systemd est cassé alors on a d'autres problèmes en amont que l'accès à notre home
il me semble que systemd-home gère uniquement en plus ~/.identity mais un montage "manuel" sera toujours possible

https://systemd.io/HOME_DIRECTORY/

---
Il faut attendre qu'il sorte et nous pourrons alors créer de nouveaux utilisateurs avec ce format pour tests
EDIT: dans archlinux testing et dans manjaro unstable:manger:

systemd homed - le chamboule-tout de notre HOME

#12Messageil y a 4 ans

L'utiliser:

Création d'un nouvel utilisateur "toto"

homectl create toto --storage=luks --auto-login=on --disk-size=10G
Cette commande va créer un fichier (pas répertoire) /home/toto.home
La taille est ici limitée à 10Go ... mais il est possible de redimensionner à tout moment sudo homectl update toto --disk-size=5G


Avoir le détail de cet utilisateur : homectl inspect toto

   User name: toto
       State: active
 Disposition: regular
 Last Change: Sun 2020-03-08 00:28:41 CET
 Last Passw.: Sun 2020-03-08 00:54:34 CET
    Login OK: yes
 Password OK: yes
         UID: 60057
         GID: 60057 (toto)
   Directory: /home/toto
     Storage: luks (strong encryption)
  Image Path: /home/toto.home
   Removable: no
       Shell: /bin/bash
LUKS Discard: no
   LUKS UUID: 4d926dd3c922463ea2dd9d6d0ba72f4f
   Part UUID: 91fa419f4b284f9d898554bf13c99a02
     FS UUID: ccd71e0a256d477f933e857f1bc4d614
 File System: ext4
 LUKS Cipher: aes
 Cipher Mode: xts-plain64
  Volume Key: 256bit
 Mount Flags: nosuid nodev exec
   Disk Size: 14.3G
  Disk Floor: 5.0M
Disk Ceiling: 16.8G
  Good Auth.: 5
   Last Good: Sun 2020-03-08 00:28:55 CET
   Bad Auth.: 5
    Last Bad: Sun 2020-03-08 00:28:41 CET
    Next Try: anytime
 Auth. Limit: 30 attempts per 1min
   Passwords: 1
  Local Sig.: yes
Autom. Login: yes
     Service: io.systemd.Home
Il est possible de monter monter manuellement ce volume par la commande sudo homectl activate toto
Le fichier /home/toto.home va être monté dans /home/toto/ - répertoire accessible uniquement à "toto" et bien sûr à root

Ces utilisateurs ne sont pas classiques ils ont un ID supérieur à 6000. Attention cet utilisateur n'est pas reconnu par linux, donc en l'état il n'est pas possible de se connecter (même avec la commande su)

Il faut allez dans PAMet mettre une variable d'environnement dans /etc/environment
Pour la config PAM, j'ai préféré suivre le code source du projet plutôt que le documentation donnée plus haut qui me posait problème :confus:

contenu après modifications

auth      sufficient  pam_unix.so     try_first_pass nullok
-auth     sufficient pam_systemd_home.so    # ajout
auth      optional  pam_permit.so
auth      required  pam_env.so

account   sufficient  pam_unix.so   # changé de required à sufficient IMPORTANT !
-account  sufficient pam_systemd_home.so    # ajout
account   optional  pam_permit.so
account   required  pam_time.so

-password sufficient pam_systemd_home.so  # ajout
password  required  pam_unix.so     try_first_pass nullok sha512 shadow
password  optional  pam_permit.so

-session   optional  pam_limits.so
-session  optional  pam_systemd_home.so   # ajout
-session  optional   pam_systemd.so
session   required  pam_unix.so
-session   optional  pam_permit.so
---
Après reboot, connexion classique en "toto" et la "magie" est au rendez-vous
- un home de 10Go
- répertoires utilisateurs créées (~/Documents, ...)
Il faut faire une commande "df" pour comprendre qu'il y a une différence par rapport à la normale

---
EDIT: page wiki créée

systemd homed - le chamboule-tout de notre HOME

#13Messageil y a 4 ans

stephane a écrit : il y a 4 ans jusqu'au jour ou le home ne monte plus ...
ou ne reconnaît plus le mot de passe ...
Tu peux aussi te retrouver à poil avec LUKS sans homed, il suffit d'une corruption de données sur les headers ou les key-slots LUKS suite à un crash disque, par exemple, et là, adieu la récup des données sur le disque.
papajoke a écrit : il y a 4 ans Création d'un nouvel utilisateur "toto"

homectl create toto --storage=luks --auto-login=on --disk-size=10G
Cette commande va créer un fichier (pas répertoire) /home/toto.home
La taille est ici limitée à 10Go ... mais il est possible de redimensionner à tout moment sudo homectl update toto --disk-size=5G
...
Disk Size: 14.3G
Disk Floor: 5.0M
Disk Ceiling: 16.8G
[/code]
Il faut faire une commande "df" pour comprendre qu'il y a une différence par rapport à la normale
C'est donc une image disque dynamique comme dans les VM et non une partition en dur ?

systemd homed - le chamboule-tout de notre HOME

#14Messageil y a 4 ans

Tout a fait c'est un fichier (detail ici) et ce qui en fait l'intérêt (on peut avoir la même chose avec luks "seul")

ls -lh /home
drwx------ 16 patrick patrick 4,0K  8 mars  15:56 patrick
drwx------  2 root    root    4,0K  8 mars  00:48 toto
-rw-------  1 root    root    5,0G  8 mars  09:18 toto.home

sudo file toto.home
toto.home: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 10485759 sectors, extended partition table (last)
Par contre, cryptsetup luksOpen ne fonctionne pas :pleure: ce fichier ne sera ouvert qu'avec systemd ?

systemd homed - le chamboule-tout de notre HOME

#15Messageil y a 4 ans

papajoke a écrit : il y a 4 ans Tout a fait c'est un fichier (detail ici) et ce qui en fait l'intérêt (on peut avoir la même chose avec luks "seul")
Je ne savais pas, je croyais que luks ne pouvait être appliqué que sur des partitions ou des volumes logiques. (on en apprend tous les jours :merci: )

systemd homed - le chamboule-tout de notre HOME

#16Messageil y a 4 ans

Smurf a écrit : il y a 4 ans ne pouvait être appliqué que sur des partitions
j'avais présenté un petit script perso - on obtient un usage presque identique à gpg mais que je trouve plus simple si l'on a plusieurs fichiers et pour leur modification
Répondre