next up previous contents index
Next: Exemple d'affichage à Up: Présentation générale du Previous: Le gestionnaire de

Les autorisations d'accès

Le système X11 étant distribué, les clients peuvent donc venir de n'importe quelle machine du réseau et donc de n'importe quel utilisateur. Pour se protéger il existe deux possibilités:

  La commande xhost autorise un premier niveau de contrôle de l'accès à un serveur X. Elle permet de citer les machines qui seront autorisées (+) ou non autorisées (--) à ouvrir des fenêtres sur le serveur X référencé.
Exemples:

Pour autoriser toutes les machines à afficher sur l'écran de votre station:

 xhost +
Pour autoriser seulement les machines poly et rolls à afficher sur l'écran de votre station:
 xhost +poly +rolls
C'est ce principe qui est utilisé actuellement sur nos ordinateurs.

    L'autre méthode que vous pouvez mettre en oeuvre est l'autorisation par clé. Un programme client qui veut utiliser le serveur X doit lui fournir une clé lors de l'ouverture de la connexion. Si cette clé est correcte, la connexion sera établie, sinon elle sera refusée. Concrètement, lorsque vous allez vous connecter sur nos ordinateurs et à chaque connexion, une clé sera automatiquement créée et elle sera communiquée au serveur X11. Une copie de cette clé est stockée dans le fichier $HOME/.Xauthority. À partir de là, tout programme exécuté par l'utilisateur pourra lire la clé dans ce fichier et la passer au serveur X pour ouvrir la connexion permettant ainsi l'affichage sur votre écran. Jusque là, vous ne vous occupez donc de rien. Maintenant, si vous souhaitez donner accès à votre terminal à un autre utilisateur (de la même machine ou d'une autre machine), vous devez lui communiquer votre clé qui sera stockée dans le fichier .Xauthority de cet autre utilisateur. Ce fichier est géré à l'aide de la commande xauth. Cette commande peut être utilisée soit avec des options, soit en interactif.

Si aucune de ces deux méthodes d'autorisation n'est utilisée, vous risquez de vous retrouver un jour en face du message d'erreur suivant:

Xlib: connection to "rolls:0.0" refused by server
Xlib: Client is not authorized to connect to Server
xterm Xt error: Can't open display: rolls:0

Cela signifie donc que vous n'avez pas donné l'autorisation d'afficher sur votre terminal au client qui en demande l'accès.

Faites bien attention si vous préférez utiliser xauth. En effet, la commande xhost prédomine sur xauth. Donc toutes les machines autorisées par xhost ne seront pas contrôlées par xauth.



next up previous contents index
Next: Exemple d'affichage à Up: Présentation générale du Previous: Le gestionnaire de




Wed Jun 25 13:24:35 MET DST 1997