xhost [[+-]HOST
Dieser Schutz ist natürlich nur rudimentär, bietet aber schon einen gewissen Grundschutz, vor allem wenn allen Hosts der Zugriff auf den X-Server verboten wurde. Die Probleme treten immer dann auf, wenn auf den erlaubten Hosts mehrere Benutzer arbeiten können. Denn Sie erlauben mit den Einstellungen jedem Benutzer des jeweiligen Rechners auf Ihren X-Server zuzugreifen. Die Verwendung des Befehls xhost wird Ihnen in den folgenden Beispielen erklärt.
ole@enterprise:~> xhost access control enabled, only authorized clients can connect
So können Sie Rechner hinzufügen. Das Pluszeichen ist dabei optional.
ole@enterprise:~> xhost +10.0.0.11 10.0.0.11 being added to access control list ole@enterprise:~> xhost 10.0.0.4 10.0.0.4 being added to access control list ole@enterprise:~> xhost access control enabled, only authorized clients can connect INET:10.0.0.4 INET:10.0.0.11
Bei Verbindungen innerhalb eines Rechners kommt anstatt der TCP-Verbindung ein Unix-Socket zu Einsatz. Um anderen Benutzern auf dem gleichen Rechner den Zugriff auf den X-Server zu erlauben, können Sie entweder den Rechner ``localhost'' eintragen oder den folgenden Befehl verwenden.
ole@enterprise:~> xhost local: non-network local connections being added to access control list
Hosts können Sie mit dem vorangestellten Minuszeichen wieder entfernen.
ole@enterprise:~> xhost -10.0.0.11 10.0.0.11 being removed from access control list ole@enterprise:~> xhost access control enabled, only authorized clients can connect INET:10.0.0.4
Den Zugriffschutz können Sie mit einem einzelnen Pluszeichen abschalten, dann kann jeder Host auf den Rechner zugreifen. Das einzelne Minuszeichen schaltet den Zugriffsschutz wieder ein.
ole@enterprise:~> xhost + access control disabled, clients can connect from any host ole@enterprise:~> xhost - access control enabled, only authorized clients can connect
Der Zugriffsschutz muß nicht nur bei entfernten Rechnern verwendet werden. Auch bei diesem Beispiel ist ein Zugriffsschutz notwendig.
ole@enterprise:~> xhost access control enabled, only authorized clients can connect ole@enterprise:~> su Password: enterprise:/home/ole # nedit Xlib: connection to ":0.0" refused by server Xlib: No protocol specified NEdit: Can't open display enterprise:/home/ole # exit exit ole@enterprise:~> xhost +localhost localhost being added to access control list ole@enterprise:~> su Password: enterprise:/home/ole # nedit
Der Versuch als Benutzer root auf dem X-Server des Benutzers ole etwas darzustellen mißlingt. Erst als der Benutzer ole für seinen X-Server den allgemeinen Zugriff über den lokalen Rechner (localhost) erlaubt hat, kann root seinen X-Client vernünftig starten.