Manuel de l'Utilisateur Expérimenté Solaris

Gestion de l'accès au serveur

A moins que vous n'utilisiez l'option -noauth avec l'option openwin (voir la section "Modification du protocole d'attribution de droits par défaut ""), le mécanisme de contrôle d'accès basé sur l'utilisateur et le mécanisme basé sur la machine sont tous les deux actifs. Le serveur commence par contrôler le mécanisme basé sur l'utilisateur, puis le mécanisme basé sur la machine. La configuration de sécurité par défaut utilise MIT-MAGIC-COOKIE-1 comme mécanisme basé sur l'utilisateur et une liste vide comme mécanisme basé sur la machine. Seul le mécanisme basé sur l'utilisateur est donc réellement actif. L'option -noauth commande au serveur de désactiver le mécanisme de contrôle d'accès basé sur l'utilisateur et initialise la liste de controle d'accès basé sur la machine en y ajoutant la machine.

Deux programmes permettent de modifier le mécanisme de contrôle d'accès du serveur : xhost et xauth. Ces programmes accèdent à des fichiers binaires créés par le protocole d'attribution de droits et contenant des données d'attribution de droits spécifiques à la session. L'un de ces fichiers est destiné uniquement au serveur, tandis que l'autre réside dans le répertoire $HOME de l'utilisateur :

Vous devez utiliser le programme xhost pour modifier la liste de contrôle d'accès basé sur la machine du serveur. Vous pouvez y ajouter des machines, ou en supprimer. Si vous utilisez la configuration par défaut (liste vide) et que vous ajoutez un nom de machine à l'aide de xhost, vous réduirez le niveau de sécurité. Le serveur autorisera alors l'accès à la machine que vous avez ajoutée et à tous les utilisateurs précisant le protocole d'attribution de droits par défaut. La section "Accès basé sur la machine"" explique pourquoi le mécanisme de contrôle d'accès basé sur la machine offre un niveau de sécurité moindre.

Le programme xauth accède aux données du protocole d'attribution de droits via le fichier .Xauthority. Vous pouvez extraire ces informations de votre fichier.Xauthority pour les faire fusionner avec les données du fichier .Xauthority d'un autre utilisateur et permettre à ce dernier d'accéder à votre serveur ou au serveur auquel vous êtes connecté.

Voir la section "Attribution des droits d'accès à l'aide du protocole MIT-MAGIC-COOKIE-1 "" pour obtenir des exemples d'utilisation de xhost et xauth.

Fichier de droits client

Le fichier de droits client, .Xauthority, contient des entrées du type :

connection-protocol          auth-protocol          auth-data

Par défaut, .Xauthority contient MIT-MAGIC-COOKIE-1 comme protocole d'attribution de droits et les entrées associées à l'écran local comme protocole de connexion et données d'attribution de droits. Par exemple, sur la machine anyhost, le fichier.Xauthority peut comporter les entrées suivantes :

anyhost:0      MIT-MAGIC-COOKIE-1  82744f2c4850b03fce7ae47176e75localhost:0    MIT-MAGIC-COOKIE-1
 82744f2c4850b03fce7ae47176e75anyhost/unix:0 MIT-MAGIC-COOKIE-182744f2c4850b03fce7ae47176e75  

Au démarrage du client, une entrée correspondant au protocole de connexion est lue dans .Xauthority et les protocole et données d'attribution de droits sont envoyés au serveur avec le paquet de connexion. Dans la configuration par défaut, xhost génère des listes vides de contrôle d'accès basé sur la machine et déclarent que les droits sont accordés.

Si vous avez remplacé le protocole d'attribution de droits par défaut par SUN-DES-1, les entrées de .Xauthority contiennent SUN-DES-1 comme protocole d'attribution de droits et l'identité réseau de l'utilisateur comme données d'attribution de droits. L'identité réseau présente le format suivant :

unix.ID_utilisateur@NISnom_domaine

Par exemple, sur la machine anyhost, le fichier .Xauthority peut comporter les entrées suivantes, où unix.15339@EBB.Eng.Sun.COM désigne l'identité réseau de l'utilisateur indépendante de la machine :

anyhost:0        SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"
localhost:0      SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"
anyhost/unix:0   SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"


Remarque :

si vous ne connaissez pas votre identité réseau ou identité réseau indépendante de la machine, contactez votre administrateur système.


Attribution des droits d'accès à l'aide du protocole MIT-MAGIC-COOKIE-1

Si vous utilisez le protocole d'attribution de droits MIT-MAGIC-COOKIE-1, suivez les étapes ci-après pour permettre à un autre utilisateur d'accéder à votre serveur :

  1. Sur la machine qui exploite le serveur, utilisez xauth pour extraire une entrée correspondant à nom_machine:0 dans un fichier.

    Dans cet exemple, nom_machine correspond à anyhost et le fichier s'appelle xauth.info :

    myhost% /usr/openwin/bin/xauth nextract
    - anyhost:0 > $HOME/xauth.info
    

  2. Envoyez le fichier contenant l'entrée associée à l'utilisateur qui a émis la demande d'accès (en utilisant la Messagerie, rcp ou une autre méthode de transfert de fichiers).


    Remarque :

    il est plus prudent d'envoyer le fichier contenant les informations sur l'attribution des droits à l'aide de la Messagerie qu'avec la commande rcp. Si vous utilisez rcp, évitez de placer le fichier dans un répertoire facilement accessible par un autre utilisateur.


  3. L'autre utilisateur doit faire fusionner cette entrée dans son fichier .Xauthority.

    Dans cet exemple, la machine_utilisateur fait fusionner xauth.info dans le fichier .Xauthority de l'autre utilisateur :

    userhost% /usr/openwin/bin/xauth nmerge - < xauth.info
    


    Remarque :

    les données d'attribution de droits sont spécifiques à la session en cours. Elles sont donc valables jusqu'à la réinitialisation du serveur.


Attribution des droits d'accès à l'aide du protocole SUN-DES-1

Si vous utilisez le protocole d'attribution de droits SUN-DES-1, suivez les étapes ci-après pour permettre à un autre utilisateur d'accéder à votre serveur :

  1. Sur la machine qui exploite le serveur, utilisez xhost pour déclarer le nouvel utilisateur au serveur.

    Dans cet exemple, le nouvel utilisateur quidam est autorisé à accéder à ma_machine:

    myhost% xhost + quidam@
    

  2. Le nouvel utilisateur doit utiliser xauth pour ajouter l'entrée dans son fichier .Xauthority.

    Dans cet exemple, l'identité réseau indépendante de la machine du nouvel utilisateur est unix.15339@EBB.Eng.Sun.COM. Notez que cette commande doit être tapée sur une seule ligne, sans retour chariot. A la suite du symbole pipe, tapez un espace suivi du reste de la commande.

    userhost% echo 'add nom_mach:0 SUN-DES-1 "unix.15339@EBB.Eng.Sun.COM"' | $OPENWINHOME/bin/xauth