web-dev-qa-db-fra.com

Que sont xhost et xhost + si?

Que fait ce script?

#!/bin/bash
xhost +local:
xhost +si:localuser:root

Quelle est la liste par défaut de xhost?

8
srinuab4u

xhost +SI:localuser:root permet à l'utilisateur root d'accéder au serveur X en cours d'exécution. Le serveur X actuel est indiqué par la variable d'environnement DISPLAY. xhost +local: fait la même chose pour chaque utilisateur, donc la ligne root n'est pas d'une grande utilité.


Le page de manuel a raisonnablement de bonnes explications:

   [+]name The given name (the plus sign is optional) is added to the list
           allowed to connect to the X server.  The name  can  be  a  Host
           name or a complete name (See NAMES for more details).
...
NAMES
   A complete name has the syntax ``family:name'' where the  families  are
   as follows:
...
   local     contains only one name, the empty string
   si        Server Interpreted
...
   The  local family specifies all the local connections at once. However,
   the server interpreted address "si:localuser:username" can be  used  to
   specify a single local user. (See the Xsecurity(7) manual page for more
   details.)

Et la Xsecurity page de manuel dit:

SERVER INTERPRETED ACCESS TYPES
   The  sample  implementation   includes   several   Server   Interpreted
   mechanisms:
       IPv6                          IPv6 literal addresses
       hostname                      Network Host name
       localuser                     Local connection user id
       localgroup                    Local connection group id

Avec un peu de contexte: Il existe deux méthodes couramment utilisées pour autoriser l'accès à un serveur X. L'une consiste à utiliser un fichier Xauthority, partagé par les clients, qui ne nécessite aucune configuration supplémentaire côté serveur. L'autre est via la liste xhost, où la configuration est effectuée sur le serveur à l'exécution (il ne s'agit donc pas d'une modification permanente).

Donc, localuser est un mot clé à conserver tel quel (root est le nom d'utilisateur ici). Cela ressemble un peu à l'ajout à un groupe, en ce sens que les groupes comprennent bien les droits du serveur. Cependant, aucun groupe de système ou utilisateur n'est affecté. Seule la configuration d'exécution du serveur X est modifiée.


Le comportement par défaut de xhost lorsqu’il est exécuté sans arguments est d’imprimer la liste, comme le dit la page de manuel:

nothing If no command line arguments are given,  a  message  indicating
        whether  or not access control is currently enabled is printed,
        followed by the list of those allowed to connect.  

Par exemple:

$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru

(muru est mon nom d'utilisateur.)

(De mon post sur Unix & Linux )

13
muru