Guida avanzata a Solaris

Gestione degli accessi al server

Se OpenWindows non viene avviato con l'opzione -noauth (vedere "Modifica del protocollo di autorizzazione di default "), sono attivi sia il meccanismo di controllo riferito all'utente sia quello riferito all'host. Il server utilizza per primo il meccanismo riferito all'utente, e successivamente quello riferito all'host. Il protocollo riferito all'utente impostato nella configurazione di default è MIT-MAGIC-COOKIE-1, mentre al meccanismo riferito all'host è associata una lista vuota. Ciò significa che è effettivamente attivo solo il meccanismo orientato all'utente. L'opzione -noauth ordina al server di disabilitare il meccanismo di controllo orientato all'utente e inizializza la lista degli host aggiungendovi l'host locale.

Per cambiare il meccanismo di controllo degli accessi al server sono disponibili due programmi: xhost e xauth. Per maggiori informazioni, vedere le relative pagine man. Questi programmi accedono a due file binari creati dal protocollo di autorizzazione, i quali contengono dati relativi ad ogni sessione. Uno dei file è riservato al server per uso interno, mentre l'altro si trova nella directory $HOME dell'utente:

Il programma xhost permette di modificare la lista degli host con diritto di accesso al server. La lista può essere modificata con l'aggiunta o la cancellazione di altri host. Avviando il sistema con la configurazione di default -- con la lista di accesso degli host vuota -- e utilizzando xhost per aggiungere il nome di un sistema, di fatto si riduce il livello di sicurezza del sistema. Il server consentirà infatti l'accesso sia all'host inserito che a tutti gli utenti che specifichino il protocollo di autorizzazione di default. Per maggiori informazioni sul livello di protezione del meccanismo riferito all'host, vedere "Accesso riferito all'host".

Il programma xauth accede ai dati del protocollo di autorizzazione contenuti nel file .Xauthority del client. Per consentire ad altri utenti di accedere al server, perciò, si potranno estrarre questi dati dal file .Xauthority in modo che tali utenti li possano inserire nel loro file .Xauthority.

Il paragrafo "Abilitazione dell'accesso con MIT-MAGIC-COOKIE-1" contiene alcuni esempi relativi all'uso di xhost e xauth.

File di autorizzazioni dei client

Il file che contiene le autorizzazioni dei client è .Xauthority. I dati sono contenuti nella forma seguente:

protcl_connessione  protcl_autorizzazione  dati_autorizzazione

Per default, .Xauthority contiene MIT-MAGIC-COOKIE-1 come protcl_autorizzazione e istruzioni relative alla sola visualizzazione locale come protcl_connessione e dati_autorizzazione. Ad esempio, il file .Xauthority dell'host generico host potrebbe contenere le righe seguenti:

host:0          MIT-MAGIC-COOKIE-1    82744f2c4850b03fce7ae47176e75
hostlocale:0    MIT-MAGIC-COOKIE-1    82744f2c4850b03fce7ae47176e75
host/unix:0     MIT-MAGIC-COOKIE-1    82744f2c4850b03fce7ae47176e75

All'avvio dell'applicazione client, il sistema legge una riga corrispondente al protcl_connessione dal file .Xauthority e invia al server il protcl_autorizzazione e i dati_autorizzazione come parte del pacchetto di connessione. Nella configurazione di default, xhost restituisce liste di accesso vuote per gli host e dichiara abilitata l'autorizzazione di accesso.

Se il protocollo di autorizzazione di default è stato sostituito con SUN-DES-1, il file .Xauthority contiene SUN-DES-1 come protcl_autorizzazione e il nome di rete dell'utente come dati_autorizzazione. Il nome di rete si presenta come segue:

unix.idutente@dominioNIS

Ad esempio, il file .Xauthority dell'host generico host può contenere le righe indicate nell'esempio seguente, dove unix.15339@EBB.Eng.Sun.COM è il nome di rete dell'utente indipendente dal sistema:

host:0         SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"
hostlocale:0    SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"
host/unix:0    SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"


Nota -

Se non si conosce il proprio nome di rete o il nome di rete indipendente dal sistema, richiederlo all'amministratore di sistema.


Abilitazione dell'accesso con MIT-MAGIC-COOKIE-1

Se si utilizza il protocollo di autorizzazione MIT-MAGIC-COOKIE-1, per aggiungere un nuovo utente alla lista di accesso del server procedere come segue:

  1. Sul sistema che esegue l'applicazione server, eseguire xauth per estrarre in un file una riga corrispondente a nomehost:0.

    In questo esempio, nomehost è host e il file è xauth.info:

    myhost% /usr/openwin/bin/xauth nextract
    - host:0 > $HOME/xauth.info
    

  2. Inviare il file contenente questa riga all'utente che ha richiesto l'accesso (usando Posta Elettronica, rcp o un altro metodo di trasferimento).


    Nota -

    L'invio del file contenente le informazioni di autorizzazione tramite posta elettronica è un metodo più sicuro rispetto all'uso di rcp. Se tuttavia si sceglie di utilizzare rcp, non collocare il file in una directory che sia facilmente accessibile ad altri utenti.


  3. L'utente ricevente dovrà inserire la riga nel proprio file .Xauthority.

    In questo esempio, l'utente inserisce xauth.info nel file .Xauthority dell'altro utente:

    hostutente% /usr/openwin/bin/xauth nmerge - < xauth.info
    


    Nota -

    I dati_autorizzazione si riferiscono a una sessione specifica; ciò significa che sono validi solo per la sessione corrente del server.


Abilitazione dell'accesso con SUN-DES-1

Se si utilizza il protocollo di autorizzazione SUN-DES-1, per abilitare un nuovo utente ad accedere al server procedere come segue:

  1. Sul sistema che esegue il programma server, eseguire xhost per permettere al server di riconoscere il nuovo utente.

    In questo esempio, nuovo_utente viene abilitato ad accedere al sistema host:

    host% xhost + nuovo_utente@
    

  2. Il nuovo utente deve eseguire xauth per aggiungere la nuova istruzione al proprio file .Xauthority.

    In questo esempio, il nome di rete del nuovo utente indipendente dal sistema è unix.15339@EBB.Eng.Sun.COM. Si noti che questo comando deve essere scritto in un'unica riga, senza ritorni a capo. Dopo il simbolo di pipe, digitare uno spazio seguito dal resto del comando.

    hostutente% echo 'add host:0 SUN-DES-1 "unix.15339@EBB.Eng.Sun.COM"' | $OPENWINHOME/bin/xauth