Introduzione
L'xhost comando è il programma di controllo dell'accesso al server Linux X-Windows. A seconda degli argomenti utilizzati, xhost concede o nega l'accesso (connessioni) utente/host all'X-server locale, consentendo o negando così agli utenti/host la possibilità di visualizzare applicazioni basate su X-Windows, ad es. xclock, programmi di installazione grafici ecc. Lo scopo di questo post è descrivere come configurare xhost in modo che sia persistente durante il riavvio del server Linux, assicurando così che gli utenti/gli host possano continuare a visualizzare le applicazioni X-Windows senza l'intervento dell'utente privilegiato.
Passaggi per configurare xhost in modo persistente
Gli utenti/host che tentano di visualizzare/reindirizzare le applicazioni X-Windows a un server riavviato di recente che non è specificamente configurato per consentire l'accesso al suo server X riceveranno il seguente errore (parziale), fino a quando l'amministratore di sistema non esegue il comando xhost:
... Xlib: connection to "host01.example.com:0.0" refused by server Xlib: No protocol specified ...
Per configurare xhost in modo che sia persistente durante il riavvio del server Linux, attenersi alla seguente procedura.
1. Determina l'elenco di host attendibili/non attendibili (nomi host o indirizzi IP) a cui desideri concedere/rifiutare l'accesso all'X-server.
2. Come utente privilegiato (root), aggiungi le seguenti righe al file /etc/profile file:sostituisci i nomi host con quelli che hai identificato nel passaggio 1.
... if [ "$DISPLAY" != "" ] then xhost +host01.example.com +host02.example.com +host03.example.com +host04.example.com xhost -host05.example.com fi #eof
Nell'esempio sopra, il sistema è configurato per concedere host host01 , host02 , host03 e host04 la possibilità di connettersi (ovvero visualizzare/reindirizzare il proprio display X) al suo server X, ma di limitare l'host host05 .
Nota che i nomi host devono essere risolvibili, ovvero devono essere presenti in /etc/hosts o in DNS. Quanto sopra presuppone anche l'uso di shell bash (/bin/bash), bourne (/bin/sh), korn (/bin/ksh). Inoltre, quando viene aggiunto al file /etc/profile, il comando xhost+ viene eseguito e impostato solo quando un utente è connesso e rimane graficamente connesso al sistema.
Per sicurezza, quando l'utente si disconnette, l'impostazione xhost viene ripristinata. Affinché l'impostazione xhost rimanga persistente, un utente deve rimanere connesso al sistema graficamente.
3. Con quanto sopra in atto, eseguire/produrre il file /etc/profile come root (potrebbe essere necessario eseguire il chmod del file per essere eseguibile (es. # chmod u+x /etc/profile) e/o accedere nuovamente al sistema graficamente come root, dove dovrebbe essere osservato qualcosa di simile al seguente.
[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
L'elenco degli host autorizzati/non autorizzati verrà visualizzato ogni volta che si accede al server.
Cos'è xhosts? Utilizzo di xhost per gestire il controllo dell'accesso al server X