Einführung
Der xhost command ist das Zugriffskontrollprogramm für den Linux X-Windows-Server. Abhängig von den verwendeten Argumenten gewährt oder verweigert xhost dem Benutzer/Host den Zugriff (Verbindungen) zum lokalen X-Server, wodurch Benutzern/Hosts die Möglichkeit gewährt oder verweigert wird, X-Windows-basierte Anwendungen anzuzeigen, z. xclock, grafische Installer usw. Der Zweck dieses Beitrags ist es, zu beschreiben, wie xhost so konfiguriert wird, dass es über den Neustart des Linux-Servers hinweg bestehen bleibt, wodurch sichergestellt wird, dass Benutzer/Hosts weiterhin X-Windows-Anwendungen ohne privilegierten Benutzereingriff anzeigen können.
Schritte zur dauerhaften Konfiguration von xhost
Benutzer/Hosts, die versuchen, X-Windows-Anwendungen auf einen kürzlich neu gestarteten Server anzuzeigen/umzuleiten, der nicht speziell für den Zugriff auf seinen X-Server konfiguriert ist, erhalten die folgende (teilweise) Fehlermeldung, bis der Systemadministrator den xhost-Befehl ausführt:
... Xlib: connection to "host01.example.com:0.0" refused by server Xlib: No protocol specified ...
Führen Sie die folgenden Schritte aus, um xhost so zu konfigurieren, dass es über den Neustart des Linux-Servers hinweg bestehen bleibt.
1. Bestimmen Sie die Liste der vertrauenswürdigen/nicht vertrauenswürdigen Hosts (Hostnamen oder IP-Adressen), denen Sie den Zugriff auf den X-Server gewähren/verweigern möchten.
2. Hängen Sie als privilegierter Benutzer (root) die folgenden Zeilen an die Datei /etc/profile an file – ersetzen Sie Hostnamen durch die, die Sie in Schritt 1 identifiziert haben.
... if [ "$DISPLAY" != "" ] then xhost +host01.example.com +host02.example.com +host03.example.com +host04.example.com xhost -host05.example.com fi #eof
Im obigen Beispiel ist das System so konfiguriert, dass Hosts host01 gewährt werden , host02 , host03 und host04 die Fähigkeit, sich mit seinem X-Server zu verbinden (d. h. ihre X-Anzeige anzuzeigen/umzuleiten), aber den Host host05 einzuschränken .
Beachten Sie, dass Hostnamen auflösbar sein müssen, d. h. sie müssen entweder in /etc/hosts oder in DNS vorhanden sein. Das Obige setzt auch die Verwendung von bash (/bin/bash), bourne (/bin/sh), korn (/bin/ksh) Shells voraus. Darüber hinaus wird der Befehl xhost+, wenn er zur Datei /etc/profile hinzugefügt wird, nur ausgeführt und gesetzt, wenn ein Benutzer angemeldet ist und grafisch im System angemeldet bleibt.
Aus Sicherheitsgründen wird die xhost-Einstellung zurückgesetzt, wenn sich der Benutzer abmeldet. Damit die xhost-Einstellung persistent bleibt, muss ein Benutzer grafisch beim System angemeldet bleiben.
3. Führen Sie mit dem oben Genannten die /etc/profile-Datei als root aus (möglicherweise müssen Sie die Datei chmod machen, damit sie ausführbar ist (z. B. # chmod u+x /etc/profile) und/oder melden Sie sich erneut an System grafisch als root, wobei etwas Ähnliches wie das Folgende zu beachten ist.
[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
Die Liste der autorisierten/nicht autorisierten Hosts wird jedes Mal angezeigt, wenn Sie sich beim Server anmelden.
Was ist xhosts? Verwendung von xhost zur Verwaltung der Zugriffskontrolle auf den X-Server