O que são xhost e xhost + si?

12

O que esse script está fazendo?

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

Qual é a lista padrão xhost?

srinuab4u
fonte

Respostas:

16

xhost +SI:localuser:rootpermite que o rootusuário acesse o servidor X em execução. O servidor X atual é indicado pela DISPLAYvariável de ambiente. xhost +local:faz o mesmo para todos os usuários; portanto, a rootlinha não é de muita utilidade.


A página de manual tem razoavelmente boas explicações:

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

E a página de Xsecuritymanual diz:

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

Com um pouco de contexto: Existem duas maneiras comumente usadas para permitir o acesso a um servidor X. Uma é através de um Xauthorityarquivo, que é compartilhado pelos clientes, e não precisa de nenhuma configuração adicional do lado do servidor. O outro é através da xhostlista, onde a configuração é feita no servidor em tempo de execução (portanto, essa não é uma alteração permanente).

Portanto, localuseré uma palavra-chave a ser mantida como está ( rooté o nome de usuário aqui). É como adicionar a um grupo, pois os grupos estão no entendimento de autorização do servidor. No entanto, nenhum grupo ou usuário do sistema é afetado. Somente a configuração de tempo de execução do servidor X é alterada.


O comportamento padrão de xhostquando executado sem argumentos é imprimir a lista, como diz a 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 exemplo:

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

( murué o meu nome de usuário.)

(Do meu post no Unix e Linux )

muru
fonte