it-swarm.com.de

Was sind xhost und xhost + si?

Was macht dieses Skript?

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

Was ist die Standardliste von xhost?

8
srinuab4u

xhost +SI:localuser:root ermöglicht dem Benutzer root den Zugriff auf den laufenden X-Server. Der aktuelle X-Server wird durch die Umgebungsvariable DISPLAY angegeben. xhost +local: macht dasselbe für jeden Benutzer, daher ist die Zeile root nicht sehr nützlich.


Die Manpage hat einigermaßen gute Erklärungen:

   [+]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.)

Und die Xsecurity manpage sagt:

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

Mit ein bisschen Kontext: Es gibt zwei häufig verwendete Möglichkeiten, um den Zugriff auf einen X-Server zu ermöglichen. Eine erfolgt über eine Xauthority-Datei, die von den Clients gemeinsam genutzt wird und keine weitere serverseitige Konfiguration erfordert. Das andere erfolgt über die Liste xhost, in der die Konfiguration auf dem Server zur Laufzeit erfolgt (dies ist also keine dauerhafte Änderung).

localuser ist also ein Schlüsselwort, das unverändert beibehalten werden soll (root ist hier der Benutzername). Dies ist insofern ähnlich wie das Hinzufügen zu einer Gruppe, als die Gruppen im Verständnis der Autorisierung des Servers sind. Es sind jedoch keine Systemgruppen oder Benutzer betroffen. Nur die Laufzeitkonfiguration des X-Servers wird geändert.


Das Standardverhalten von xhost bei Ausführung ohne Argumente besteht darin, die Liste zu drucken, wie in der Manpage angegeben:

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.  

Zum Beispiel:

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

(muru ist mein Benutzername.)

(Von mein Beitrag auf Unix & Linux )

13
muru