Что такое xhost и xhost +si?

Что делает этот скрипт?

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

Что такое список по умолчанию xhost?

1 ответ

xhost +SI:localuser:root позволяет root Пользователь для доступа к работающему X-серверу. Текущий X-сервер обозначен DISPLAY переменная окружения. xhost +local: делает то же самое для каждого пользователя, поэтому root линия не очень полезна.


Руководство имеет достаточно хорошие объяснения:

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

И Xsecurity manpage говорит:

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

Немного контекста: есть два широко используемых способа предоставления доступа к X-серверу. Один через Xauthority файл, который используется клиентами и не требует дальнейшей настройки на стороне сервера. Другой через xhost список, где конфигурация выполняется на сервере во время выполнения (так что это не постоянное изменение).

Так, localuser ключевое слово, которое будет сохранено как есть (root это имя пользователя здесь). Это похоже на добавление в группу, поскольку группы понимают авторизацию на сервере. Однако никакие системные группы или пользователи не затрагиваются. Изменена только конфигурация времени выполнения X-сервера.


Поведение по умолчанию xhost при запуске без аргументов распечатывать список, как написано на man-странице:

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.  

Например:

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

(muru мое имя пользователя.)

(Из моего поста по Unix и Linux)

Другие вопросы по тегам