Вступление
Команда xhost – это программа контроля доступа к серверу Linux X-Windows.
В зависимости от используемых аргументов xhost предоставляет или запрещает доступ пользователя / хоста (соединения) к локальному X-серверу, тем самым позволяя или отказывая пользователям / хостам в возможности отображения приложений на основе X-Windows, например, xclock, графические установщики и т. д.
Цель этой статьи состоит в том, чтобы описать, как настроить xhost, чтобы он был постоянным при перезагрузке сервера Linux, таким образом гарантируя, что пользователи / хосты могут продолжать отображать приложения X-Windows без вмешательства привилегированного пользователя.
Шаги для настройки xhost
Пользователи / хосты, пытающиеся отобразить / перенаправить приложения X-Windows на недавно перезагруженный сервер, который специально не настроен для разрешения доступа к своему X-серверу, будут получать следующую (частичную) ошибку до тех пор, пока системный администратор не выполнит команду xhost:
... Xlib: connection to "host01.example.com:0.0" refused by server Xlib: No protocol specified ...
Чтобы настроить xhost на постоянную перезагрузку сервера Linux, выполните следующие действия.
1. Определите список доверенных / ненадежных хостов (имен хостов или IP-адресов), которым вы хотите предоставить / запретить доступ к X-серверу.
2. Как привилегированный пользователь (root), добавьте следующие строки в файл /etc/profile – замените имена хостов теми, которые вы определили на шаге 1.
... if [ "$DISPLAY" != "" ] then xhost +host01.example.com +host02.example.com +host03.example.com +host04.example.com xhost -host05.example.com fi #eof
В приведенном выше примере система настроена на предоставление хостам host01, host02, host03 и host04 возможности подключаться (то есть отображать / перенаправлять их X-дисплей) к своему X-серверу, но ограничивать хост host05.
Обратите внимание, что имена хостов должны быть разрешенными, то есть они должны присутствовать либо в /etc/hosts, либо в DNS.
Выше также предполагается использование оболочек bash (/bin/bash), bourne (/bin/sh), korn (/bin/ksh).
Кроме того, при добавлении в файл /etc/profile команда xhost + выполняется и устанавливается только тогда, когда пользователь вошел в систему и остается в системе графически.
В целях безопасности, когда пользователь выходит из системы, настройка xhost сбрасывается.
Чтобы настройки xhost оставались постоянными, пользователь должен оставаться в системе графически.
3. С учетом вышесказанного запустите /source файл /etc/profile в качестве пользователя root (вам может потребоваться выполнить chmod файл для выполнения (т.е. # сhmod u + x /etc/profile) и / или повторно войти в систему как root, где должно наблюдаться что-то похожее на следующее.
[root@host01 ~]# /etc/profile host01.example.com being added to access control list host02.example.com being added to access control list host03.example.com being added to access control list host04.example.com being added to access control list host05.example.com being removed from access control list
Список авторизованных / неавторизованных хостов будет отображаться при каждом входе на сервер.