Présentation
Le xhost La commande est le programme de contrôle d'accès au serveur Linux X-Windows. Selon les arguments utilisés, xhost accorde ou refuse l'accès utilisateur/hôte (connexions) au serveur X local, permettant ou refusant ainsi aux utilisateurs/hôtes la possibilité d'afficher des applications basées sur X-Windows, par ex. xclock, installateurs graphiques, etc. Le but de cet article est de décrire comment configurer xhost pour qu'il soit persistant lors du redémarrage du serveur Linux, garantissant ainsi que les utilisateurs/hôtes peuvent continuer à afficher les applications X-Windows sans intervention de l'utilisateur privilégié.
Étapes pour configurer xhost de manière persistante
Les utilisateurs/hôtes essayant d'afficher/rediriger les applications X-Windows vers un serveur récemment redémarré qui n'est pas spécifiquement configuré pour autoriser l'accès à son serveur X recevront l'erreur (partielle) suivante, jusqu'à ce que l'administrateur système exécute la commande xhost :
... Xlib: connection to "host01.example.com:0.0" refused by server Xlib: No protocol specified ...
Pour configurer xhost afin qu'il soit persistant lors du redémarrage du serveur Linux, procédez comme suit.
1. Déterminez la liste des hôtes approuvés/non approuvés (noms d'hôte ou adresses IP) auxquels vous souhaitez accorder/refuser l'accès au serveur X.
2. En tant qu'utilisateur privilégié (root), ajoutez les lignes suivantes au fichier /etc/profile file - remplacez les noms d'hôte par ceux que vous avez identifiés à l'étape 1.
... if [ "$DISPLAY" != "" ] then xhost +host01.example.com +host02.example.com +host03.example.com +host04.example.com xhost -host05.example.com fi #eof
Dans l'exemple ci-dessus, le système est configuré pour accorder aux hôtes host01 , hôte02 , hôte03 et host04 la possibilité de se connecter (c'est-à-dire d'afficher/rediriger leur affichage X) à son serveur X, mais de restreindre l'hôte host05 .
Notez que les noms d'hôte doivent pouvoir être résolus, c'est-à-dire qu'ils doivent être présents dans /etc/hosts ou dans DNS. Ce qui précède suppose également l'utilisation des shells bash (/bin/bash), bourne (/bin/sh), korn (/bin/ksh). De plus, lorsqu'elle est ajoutée au fichier /etc/profile, la commande xhost+ n'est exécutée et définie que lorsqu'un utilisateur est connecté et reste connecté au système graphiquement.
Pour des raisons de sécurité, lorsque l'utilisateur se déconnecte, le paramètre xhost est réinitialisé. Pour que le paramètre xhost reste persistant, un utilisateur doit rester connecté au système graphiquement.
3. Avec ce qui précède en place, exécutez/sourcez le fichier /etc/profile en tant que root (vous devrez peut-être chmoder le fichier pour qu'il soit exécutable (c'est-à-dire # chmod u+x /etc/profile) et/ou vous reconnecter au système graphiquement en tant que racine, où quelque chose de similaire à ce qui suit doit être observé.
[root@host01 ~]# /etc/profile host01.example.com being added to access control list host02.example.com being added to access control list host03.example.com being added to access control list host04.example.com being added to access control list host05.example.com being removed from access control list
La liste des hébergeurs autorisés/non autorisés s'affichera à chaque connexion au serveur.
Qu'est-ce que xhosts ? Utiliser xhost pour gérer le contrôle d'accès au serveur X