Xauthority

Lorsque vous voulez vous connecter à un logiciel qui a besoin des droits root dans un environnement graphique depuis ssh, si les MAGIC-COOKIE ne sont pas définis dans le fichier .Xauthority de root il ne sera alors pas possible pour un utilisateur de se conecter (et de lancer ledit logiciel).

Le but ici est de récupérer le contenu du .Xauthority (qui contient les MAGIC-COOKIE) d’un utilisateur pour l’ajouter à celui de root.

Problème de fichier avec Firefox

Par exemple avec Firefox :

# firefox [@IP] &
[4] 3667

Si lorsque qu’un utilisateur le lance, cette erreur est remontée :

# mkdir: cannot create directory '/home/users/mon_user/.mozilla/extensions/{fd9141f7-c31b-464f-0d1e-24b4b9e97495}': Permission denied
MoTTY X11 proxy: Unsupported authorisation protocol
Error: cannot open display: localhost:20.0

Il est fort propable que le problème soit en lien avec le fichier .Xauthority.

Commande xauth

La commande xauth est l’utilitaire permettant de gérer le fichier .Xauthority.

Forcer l’utilisation du fichier :

# xauth -f $HOME/.Xauthority
Using authority file .Xauthority

Contenu du .Xauthority

# xauth -f $HOME/.Xauthority list
monServeur/unix:20 MIT-MAGIC-COOKIE-1 4de1589d9a829afb622aced59eb1bbc9

On le met dans une variable pour l’ajouter par la suite au fichier de root pour plus de facilité :

# COOKIE=#(xauth -f $HOME/.Xauthority list)

Vérification :

# echo #COOKIE
monServeur/unix:20 MIT-MAGIC-COOKIE-1 4de1589d9a829afb622aced59eb1bbc9

On ajoute la variable, comportant le contu du Xauthority dans celui du root, avec la commande add de xauth :

# sudo xauth -f /root/.Xauthority add #COOKIE
[sudo] password for mon_user:

L’utilisateur relance Firefox :

# sudo firefox &
[1] 17125

Ca devrait être bon.

Autres problèmes

Si le problème persiste lors d’une nouvelle conexion, il se peut que cette fois ci ce soit un problème de droits, donc :

# chown -R mon_user .mozilla/

Documentation

https://linux.die.net/man/1/xauth

Remerciements

midorino3142

Merci à midorino3142


> Partager <