Sommaire
Présentation de Gnome Keyring
C’est un porte clef de mot de passe. Vous avez un mot de passe principal pour déverrouiller votre porte clé. Une fois celui-ci déverrouillé vous pouvez récupérer tout les mots de passe que vous aurez stocker dans ce porte clé.
Sur gnome il est automatiquement utilisé par Chromium, pgp et d’autres…
Par défaut gnome-keyring verrouille le porte clé principal avec le mot de passe de votre session.
Problèmes
Tout ne fonctionne pas correctement avec l’autologin des gestionnaire de session graphiques tel que lightdm
Demande d’entrer son mot de passe
Si vous avez configuré votre session en autologin. C’est root qui va lancer votre session, et il ne connait pas votre mot de passe. Il ne peut donc pas déverrouiller votre trousseau de clé.
Erreur lors de l’arrêt de la machine
En plus cela produit une erreur lors de l’arrêt du PC : « gnome-keyring-daemon not responding ».
Ce processus est lancé en tant que root, l’utilisateur local ne peut donc pas tuer ce processus sans demander un kill.
Solutions
Toutes ces opérations sont a faire en étant connecté avec l’utilisateur qui est en autologin. Jamais en root. (Sinon vous allez configurer gnome-keyring de root).
Demande d’entrer son mot de passe
On va créer un script python qui va entrer votre mot de passe à votre place.
Cette solution est pas très sécurisée. Serte le script sera accessible que par votre user. Mais cela n’empêche pas un virus, qui a prit le contrôle de votre user, de récupérer votre mot de passe. Je vous conseille donc de ne pas stocker votre mot de passe en clair.
Faites attention surtout si votre user peut faire un sudo su !
Il faut quand même noter que si vous avez un user en autologin, c’est que n’importe qui physiquement peut se passer pour cet user. Donc ses droits doivent être réduit au maximum.
Fichier /home/tonUtilisateur/.keyring-unlocker.py
#!/usr/bin/python
import gnomekeyring
gnomekeyring.unlock_sync(None, 'tonMdp');
Il est aussi conseillé d’utiliser des noms de fichiers qui ne comporte aucun signification. Cela permet de rendre plus difficile la détection de mot de passe par un virus.
chmod 700 /home/tonUtilisateur/.keyring-unlocker.py
On va mainteant lancer ce script a chaque login de notre user :
Fichier ~/.config/autologin/keyring-unlocker.desktop
[Desktop Entry]
Type=Application
Exec=/home/tonUser/.keyring-unlocker.py
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[fr_FR]=Keyring Unlocker
Comment[fr_FR]=Keyring unlock
X-GNOME-Autostart-Delay=0
Exec : Vous devez mettre le chemin entier. Il n’est pas possible d’utiliser $HOME ou ~
Encore une fois je vous conseille de donner aucune significations a votre nom de fichier ainsi que ses commentaires .
Vérifiez que tout fonctionne :
~/.keyring-unlocker.py
echo $?
Si vous la commande echo vous renvoie un 0 c’est que tout fonctionne.
Si vous avez un Keyring IO exception cela veut dire que vous vous êtes trompé dans votre mot de passe.
Erreur lors de l’arrêt de la machine
Si vous faites un :
grep "gnome-keyring-daemon" /var/log/syslog
Vous devez avoir quelque chose dans ce genre :
cinnamon-session[1413]: WARNING: t+53,26576s: Unable to find desktop file 'gnome-keyring-daemon.desktop': Impossible de trouver un fichier de clés valide dans les répertoires de recherche
Cela veut juste dire que cinnamon-session chercher un fichier /home/tonUtilisateur/.config/autologin/gnome-keyring-daemon.desktop
On va donc le créer :
[Desktop Entry]
Type=Application
Exec=/usr/bin/gnome-keyring-daemon -r -d
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Gnome Keyring Daemon
Comment=Charge gnome keyring daemon
Les arguments -r permettent d’arrêter toutes instances de gnome-keyring-daemon déjà lancées. L’erreur vient enfaîte de là.
Et le -d permet de lancer gnome-keyring-daemon en tant que daemon.
Il vous reste plus qu’a redémarrer et tout est bon !