Archlinux, startxfce4, Nextcloud, Trousseau de clés, gnome-keyring

Trousseau de clés

Certaines applications (nextcloud) ont besoin de récupérer les “clés d’accès” pour poursuivre.
GNOME Keyring est un “daemon” applicatif permettant de gérer l’ensemble des identifiants et mots de passe d’un utilisateur. Les données sensibles sont chiffrées et stockées dans un fichier porte-clé situé dans le répertoire personnel de l’utilisateur. Pour éviter à l’utilisateur de mémoriser un mot de passe supplémentaire, le mot de passe de connexion au compte est utilisé par défaut pour le chiffrement.Installez libsecret pour permettre aux applications d’utiliser vos porte-clés. libgnome-keyring est obsolète, cependant, certaines applications peuvent l’exiger.

Installer gnome-keyring

sudo pacman -S gnome-keyring libsecret

Gestionnaire de connexions graphiques

Nom Paquet Service
XDM xorg-xdm xdm
GDM (GNOME Display Manager) gdm gdm
SDDM (Simple Desktop Display Manager) sddm kdm
LXDM (Lightweight Display Manager) lxdm lxdm
SLiM (Simple Login Manager) slim slim
LightDM (Light Display Manager) lightdm lightdm
SDDM (Simple Desktop Display Manager) sddm sddm

Gestionnaire de connexions (console bash)

Pour démarrer un gestionnaire de fenêtre sans gestionnaire de connexion, le moyen le plus simple reste la commande startx, faut-il encore lui indiquer quel gestionnaire lancer.
Le poste démarre sur archlinux , les saisies identifiant et mot de passe se font en mode console.
Un choix est proposé , démarrage en mode terminal ou lancement d’un environnement graphique (gnome,xfce,kde,etc…)

Le paquet xorg-xinit est requis (installé par défaut avec Xorg)
Créer ou modifier le fichier ~/.bash_profile

#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc

 if [[ -t 0 && $(tty) =~ /dev/tty ]] && ! pgrep -u $USER xinit &> /dev/null;then
     df -h | egrep 'mapper|srv'
     echo ""
     echo "Aucune session X11 détectée, voulez vous en lancer une ? [O|n]"
     echo ""
     read -n 1 start_x
     if [[ $start_x == "n" ]];then
         echo "X11 ne sera pas lancé."
     else
         echo ""
         echo "Ouvrir une session X11 avec OpenVPN ? [O|n]"
         echo ""
         read -n 1 start_x_vpn
         if [[ $start_x_vpn != "n" ]];then
             echo "Lancement OpenVPN"
             sudo systemctl start openvpn-client@mullvad.service
             echo "X11 ouverture session."
	 fi
         startxfce4
     fi
 fi

Lors de l’utilisation de la connexion par console, le démon porte-clés peut être démarré soit par PAM, soit par xinitrc. PAM peut également déverrouiller le porte-clés automatiquement lors de la connexion.On va utiliser la méthode PAM

Lancez le gnome-keyring-daemon depuis /etc/pam.d/login :

Ajouter auth optional pam_gnome_keyring.so à la fin de la section auth et session optional pam_gnome_keyring.so auto_start à la fin de la section session.

/etc/pam.d/login

#%PAM-1.0
 
auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
auth       optional     pam_gnome_keyring.so
account    include      system-local-login
session    include      system-local-login
session    optional     pam_gnome_keyring.so auto_start

Nextcloud

Nextcloud utilise gnome-keyrinq pour stocker les paramètres d’accès au “nuage”.

  1. A la première connexion qui suit l’installation de nextcloud , il faut saisir un mot de passe (et le confirmer) pour le “Trousseau de clés par défaut”
    Texte alternatif
  2. Redémarrer la machine
  3. Saisir le mot de passe du “Trousseau de clés par défaut”
    Texte alternatif
    Cocher “Déverrouiller automatiquement ce trousseau de clés quand je suis connecté”

Texte alternatifEn cas de problème , “une application veut accèder au trousseau de clés mais il est verrouillé” avec l’obligation de saisir le mot de passe à chaque connexion, effectuer les opérations suivantes :
Supprimer les clés existantes : rm -v ~/.local/share/keyrings/*.keyring et redémarrer la machine
Nextcloud va demander une authentification , faire le nécessaire (nexcloud va stocker les identifiants) et redémarrer une seconde fois.
Puis reprendre les étapes 1 à 3