Que fait ce script?
#!/bin/bash
xhost +local:
xhost +si:localuser:root
Quelle est la liste par défaut de xhost
?
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.)