Что делает этот скрипт?
#!/bin/bash
xhost +local:
xhost +si:localuser:root
Что такое список по умолчанию xhost
?
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
странице написано:
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
это мое имя пользователя.)