[ecryptfs] Démonter "private" en fermant la session (Résolu)

Mise à jour / Création /debug de paquetages
clapas
yeomen
Messages : 274
Inscription : sam. 08 sept. 2012, 07:23
Localisation : Comtat Venaissin

[ecryptfs] Démonter "private" en fermant la session (Résolu)

Message par clapas »

Bonjour,
Sur un nouvel ordinateur portable, je viens de chiffrer le /home d'un utilisateur avec ecryptfs.
Tout a bien fonctionné en suivant la documentation, mais je cherche un moyen de contourner le bug avec systemd qui fait que le répertoire privé ne se démonte pas à la fermeture de la session. Il en résulte que le /home reste en clair.

Ceci est sans importance si le portable est éteint, mais s'il reste allumé pour l'usage d'un autre utilisateur c'est quand même plus gênant :)

Pour le moment, tout ce que j'ai trouvé c'est de redémarrer le gestionnaire de connexion.
Vous avez certainement trouvé mieux, n'est-ce pas ? Un bon truc serait de passer la commande ecryptfs-umount-private dans un script qui s'exécuterait à la fermeture de la session. Mais je ne sais pas comment le faire.

Edit : je suis prêt à changer d'environnement de bureau et/ou de gestionnaire de connexion si cela doit faciliter les choses.
Dernière modification par clapas le ven. 01 juil. 2016, 21:19, modifié 2 fois.
Avatar de l’utilisateur
liziara21
Daikyu
Messages : 91
Inscription : mer. 15 juin 2016, 15:24
Localisation : Entre ici et las-bas !

Re: [ecryptfs] Démonter "private" en fermant la session

Message par liziara21 »

Il existe une solution (avec ses conséquences dans le wiki) un encadré rouge disant :

Code : Tout sélectionner

Warning: Unfortunately the automatic unmounting is susceptible to break with systemd and bugs are filed against it.[1] [2] [3] [4] If you experience this problem, you can test it by commenting out -session   optional   pam_systemd.so in /etc/pam.d/system-login. However, this is no solution because commenting out will break other systemd functionalities.
Au vu du nombre de bug, je ne sais pas si cela vaut la peine, (perso je chiffre la totalité de mon disque avec dm-encrypt).
Maintenant rien ne t’empêche de faire un petit script (à mettre dans ta barre des taches, qui unmount ton dossier et lance ensuite la commande de verrouillage (je ne sais pas ci c’est faisable mais c’est une idée lancée comme ça)).
Tours | Distribution : Arch Linux - Encrypted - Interface : Cinnamon - Graphics : Nvidia GTX 980 - HDD : 5.1 TB - Encrypted
Portable | Distribution : Arch Linux - Encrypted - Interface : Cinnamon - Graphics : AMD - HDD : 256 GB - Encrypted
Raspberry Pi 2 | Distribution : Arch Linux ARM - Interface : Aucune - HDD : 6 TB - Encrypted
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [ecryptfs] Démonter "private" en fermant la session

Message par benjarobin »

Mettre KillUserProcesses=yes dans /etc/systemd/logind.conf n'aide pas ?
Je trouve bizarre que personne n'est essayé, cela devrait en théorie fonctionner si j'ai bien compris le rapport de "bug" (qui n'en n'est pas un si je comprend bien la raison du problème)

Voir la doc de logind et de loginctl. Par défaut quand tu fermes ta session, elle n'est pas totalement fermé. C'est une fonctionnalité de systemd... Cela peut être changé via l'option KillUserProcesses=yes.
Quand tu fermes ta session, normalement s'il reste des process ta session sera toujours marqué comme ouverte lorsque tu lances loginctl

Sinon avec LightDM tu peux lancer un script au logout
# session-cleanup-script = Script to run when quitting a user session (runs as root)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
clapas
yeomen
Messages : 274
Inscription : sam. 08 sept. 2012, 07:23
Localisation : Comtat Venaissin

Re: [ecryptfs] Démonter "private" en fermant la session

Message par clapas »

Merci pour vos messages.
Effectivement j'ai lu la solution de la doc, mais sans essayer vu les inconvénients décrits.
Depuis, et dans l'attente de mieux, je me suis fait un raccourci tout simple qui démonte mon /home si je veux juste fermer ma session sans éteindre.

D'après le man, loginctl fait le travail :
terminate-user USER...
Terminates all sessions of a user. This kills all processes of all
sessions of the user and deallocates all runtime resources attached
to the user.
Il me faudrait identifier le fichier qui gère la déconnexion de l'utilisateur dans gnome-shell pour le modifier. Ce serait transparent.

Je vais regarder avec
Mettre KillUserProcesses=yes dans /etc/systemd/logind.conf n'aide pas ?
EDIT : non c'est pas mieux. /home/moi n'est pas démonté à la fermeture de session
clapas
yeomen
Messages : 274
Inscription : sam. 08 sept. 2012, 07:23
Localisation : Comtat Venaissin

Re: [ecryptfs] Démonter "private" en fermant la session

Message par clapas »

(perso je chiffre la totalité de mon disque avec dm-encrypt).
j'avais commencé par là mais comment traites-tu les sauvegardes système et données ?
clapas
yeomen
Messages : 274
Inscription : sam. 08 sept. 2012, 07:23
Localisation : Comtat Venaissin

Re: [ecryptfs] Démonter "private" en fermant la session

Message par clapas »

J'en termine avec ce sujet en donnant ce qui fonctionne le mieux pour mon cas : pour fermer la session, je lance

Code : Tout sélectionner

!#/bin/bash
ecryptfs-umount-private
ecryptfs-umount-private
loginctl terminate-user xxxx
exit 0
Avec deux fois "umount", ça marche à tous les coups, avec une seule fois, ça peut marcher !
Au moins c'est indépendant du choix de gestionnaire de connexion.
Avatar de l’utilisateur
liziara21
Daikyu
Messages : 91
Inscription : mer. 15 juin 2016, 15:24
Localisation : Entre ici et las-bas !

Re: [ecryptfs] Démonter "private" en fermant la session

Message par liziara21 »

clapas a écrit :
(perso je chiffre la totalité de mon disque avec dm-encrypt).
j’avais commencé par là mais comment traites-tu les sauvegardes système et données ?
Eh bien une fois par semaine, je fais un RSYNC de mon disque système, et mon home (fichier de config) quand a lui est synchronisé grâce à syncthing,
Pour ce qui est de mes données perso elle sont sur un disque physique différent (lui-même chiffrer) et également synchronisé grâce à syncthing.

Syncthing synchronise sur un Raspberry pi sur des disques identique (marque, capacité et modèle), a ceux de ma tour et également chiffré,
pour les fichiers clef de chiffrement, je garde une copie de ces fichiers sur une clef USB que je garde constamment sur moi.
Tours | Distribution : Arch Linux - Encrypted - Interface : Cinnamon - Graphics : Nvidia GTX 980 - HDD : 5.1 TB - Encrypted
Portable | Distribution : Arch Linux - Encrypted - Interface : Cinnamon - Graphics : AMD - HDD : 256 GB - Encrypted
Raspberry Pi 2 | Distribution : Arch Linux ARM - Interface : Aucune - HDD : 6 TB - Encrypted
clapas
yeomen
Messages : 274
Inscription : sam. 08 sept. 2012, 07:23
Localisation : Comtat Venaissin

Re: [ecryptfs] Démonter "private" en fermant la session (Résolu)

Message par clapas »

Merci pour ces explications.
Concernant la sauvegarde système, tu utilises cela ?
https://wiki.archlinux.org/index.php/Fu ... with_rsync
Répondre