¿Qué está haciendo este script?
#!/bin/bash
xhost +local:
xhost +si:localuser:root
¿Cuál es la lista predeterminada de xhost
?
xhost +SI:localuser:root
permite al root
usuario acceder al servidor X en ejecución. El servidor X actual se indica mediante la DISPLAY
variable de entorno. xhost +local:
hace lo mismo para cada usuario, por lo que la root
línea no es de mucha utilidad.
La página de manual tiene explicaciones razonablemente buenas:
[+]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.)
Y la página del Xsecurity
manual dice:
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
Con un poco de contexto: hay dos formas de uso común para permitir el acceso a un servidor X. Uno es a través de un Xauthority
archivo, que es compartido por los clientes, y no necesita más configuración del lado del servidor. El otro es a través de la xhost
lista, donde la configuración se realiza en el servidor en tiempo de ejecución (por lo que este no es un cambio permanente).
Entonces, localuser
es una palabra clave que se debe retener tal como está ( root
es el nombre de usuario aquí). Esto es algo así como agregar a un grupo, ya que los grupos están en la comprensión del servidor de la autorización. Sin embargo, no hay grupos del sistema o usuarios afectados. Solo se cambia la configuración de tiempo de ejecución del servidor X.
El comportamiento predeterminado de xhost
cuando se ejecuta sin argumentos es imprimir la lista, como dice la página de manual:
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.
Por ejemplo:
$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru
( muru
es mi nombre de usuario)