Что такое 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
мое имя пользователя.)