15.2. Configurazione avanzata di FreeNX

Nelle sezioni seguenti sono illustrate alcune funzioni avanzate necessarie soprattutto negli ambienti NX più complessi.

15.2.1. Configurazione dell'autenticazione SSH con le chiavi client

L'autenticazione configurata nella Sezione 15.1, "NX: Operazioni preliminari" si basa esclusivamente sulle credenziali nome utente e password. Per un'autenticazione più sicura, configurare NX in modo che generi una coppia di chiavi SSH. Copiare quindi la chiave client dal computer server su tutti i client che dovranno connettersi al server NX. I client che non dispongono di questa chiave non possono autenticarsi sul server NX. Questa funzionalità è supportata solo per la combinazione server FreeNX/client knx.

Per configurare il server NX in modo che utilizzi questa tecnica di autenticazione e generi la coppia di chiavi appropriata, eseguire le operazioni riportate di seguito.

  1. Effettuare il login come utente root al computer server.

  2. Aprire il file di configurazione del server /etc/nxserver/node.conf e controllare che ENABLE_SSH_AUTHENTICATION sia impostato su 1 (valore predefinito).

  3. Installare il server con il comando seguente:

    nxsetup --install --clean --purge
  4. Modificare le autorizzazioni di accesso in /var/lib/nxserver/home/.ssh/authorized_keys2:

    chmod 640 /var/lib/nxserver/home/.ssh/authorized_keys2
    
  5. Eseguire il log out.

Per configurare knx in modo che utilizzi questa chiave, eseguire le operazioni riportate di seguito.

  1. Effettuare il login al computer server come root.

  2. Copiare il file delle chiavi sul percorso del computer client richiesto da knx specificando al posto di client l'indirizzo del computer client.

    scp /var/lib/nxserver/home/.ssh/client.id_dsa.key client:/usr/share/knx/
    
  3. Effettuare il login come utente root al computer client.

  4. Modificare le autorizzazioni di accesso come illustrato di seguito.

    chmod 644 /usr/share/knx/client.id_dsa.key
    
  5. Eseguire il log out.

15.2.2. Configurazione di un'autenticazione PAM

Per impostazione predefinita, FreeNX consente a qualsiasi utente di aprire una sessione NX, purché tale utente siano incluso nel database degli utenti del proprio server, localmente oppure tramite LDAP, NIS, ecc... Questo comportamento viene attivato o disattivato dalla variabile ENABLE_PAM_AUTHENTICATION in /usr/bin/nxserver del computer server. In questo caso, il valore predefinito è 1. Se si imposta questo valore su 0, l'autenticazione utente gestita da PAM (PAM_AUTH) per FreeNX viene disabilitata.

Se ENABLE_PAM_AUTHENTICATION è impostata su 0, è necessario aggiungere gli utenti e le password manualmente. Per aggiungere utenti NX locali al server, eseguire le operazioni riportate di seguito.

  1. Effettuare il login come utente root al computer server.

  2. Accertarsi che tutti gli utenti che si desidera aggiungere siano inclusi nel database degli utenti locali del sistema controllando il contenuto di /etc/passwd oppure utilizzando il modulo YaST di gestione degli utenti.

  3. Specificare il nome utente di ogni utente che si desidera aggiungere utilizzando il comando nxserver --adduser. Quindi aggiungere la password dell'utente con il comando nxserver --passwd.

  4. Riavviare il server con il comando nxserver --restart ed eseguire il log out.

15.2.3. Utilizzo dei file di configurazione del sistema e specifici dell'utente

Il comportamento del server FreeNX viene controllato via /etc/node.conf. È possibile eseguire una configurazione server NX globale oppure eseguire il server con le configurazione specifiche degli utenti. Quest'ultima soluzione può creare conflitti quando diversi utenti eseguono NX su un computer con requisiti differenti.

Nell'esempio seguente si presume che l'utente mario desidera che NX venga avviato automaticamente con una determinata applicazione all'apertura di una sessione NX. Per abilitare questo comportamento solo per l'utente, eseguire le operazioni riportate di seguito.

  1. Eseguire il login come root.

  2. Immettere la directory /etc/nxserver:

    cd /etc/nxserver
  3. Salvare una copia del file di configurazione del server NX (node.conf) in mario.node.conf all'interno della stessa directory.

  4. Modificare i parametri appropriati (NODE_AUTOSTART e ENABLE_AUTORECONNECT) in mario.node.conf. Per informazioni su queste funzioni, vedere la Sezione 15.2.5, "Configurazione delle attività di Autostart ed esportazione di configurazioni" e Sezione 15.2.4, "Sospensione e ripristino di sessioni NX".

  5. Reinstallare il server NX per attivare la nuova configurazione:

    nxsetup --install --clean --purge --setup-nomachine-key

    La configurazione specifica dell'utente è prioritaria rispetto a quella globale.

  6. Eseguire il log out.

15.2.4. Sospensione e ripristino di sessioni NX

È possibile configurare NX in modo da consentire la sospensione e il ripristino delle sessioni utente proprio come avviene con le sessioni su un computer portatile. La sessione sospesa verrà aperta esattamente nello stato in cui è stata interrotta.

Per configurare la sospensione e il ripristino delle sessioni NX, eseguire le operazioni riportate di seguito.

  1. Eseguire il login come root.

  2. Aprire il file di configurazione del server, /etc/nxserver/node.conf, e modificarlo come illustrato di seguito.

    ENABLE_PASSDB_AUTHENTICATION="0"
    ENABLE_USER_DB="0"
    ENABLE_AUTORECONNECT="1"
    
  3. Salvare il file di configurazione e chiuderlo, quindi riavviare il server con nxserver --restart.

  4. Eseguire il log out.

Per sospendere una sessione prima di uscire dal client, fare clic su X nell'angolo in alto a destra della finestra NX, quindi selezionare Sospendi. Al momento della riconnessione verrà chiesto se si desidera ripristinare la sessione precedente o avviarne una nuova.

15.2.5. Configurazione delle attività di Autostart ed esportazione di configurazioni

FreeNX supporta una funzione autostart che consente di avviare alcune attività all'avvio o al ripristino di una sessione NX, purché l'applicazione esistente supporti le proprietà start e resume. Ad esempio, è possibile ripulire il desktop o eseguire altre attività autostart all'avvio di FreeNX. Questo è utile soprattutto quando ci si riconnette a una sessione, in particolare da un altro client NX, e non si utilizza la tecnica KDE o GNOME standard.

Per configurare le funzioni autostart, eseguire le operazioni riportate di seguito.

  1. Effettuare il login come utente root al computer server.

  2. Aprire il file di configurazione del server /etc/nxserver/node.conf e modificare la variabile NODE_AUTOSTART come illustrato di seguito, sostituendo myprogram con il nome del programma da eseguire al riavvio o al ripristino di una sessione NX:

    NODE_AUTOSTART=myprogram
         
  3. Salvare il file di configurazione e chiuderlo.

  4. Riavviare il server con il comando nxserver --restart ed eseguire il log out.

    Il programma specificato verrà eseguito a ogni avvio o ripristino di una sessione.

È anche possibile esportare le variabili NX_USERIP e NX_SESSIONID per renderle accessibili nell'ambiente dell'utente. Ciò consente, ad esempio, di inserire un'icona sul desktop con il contenuto generico e accedere al server Samba in esecuzione sul thin client dell'utente. Per fare in modo che il contenuto del dischetto floppy inserito nell'unità del client sia disponibile all'utente, eseguire le operazioni riportate di seguito.

  1. Abilitare l'esportazione delle variabili NX_USERIP e NX_SESSIONID sul server:

    1. Effettuare il login come utente root al computer server.

    2. Aprire il file di configurazione del server, /etc/nxserver/node.conf, e impostare le variabili seguenti:

      EXPORT_USERIP="1"
      EXPORT_SESSIONID="1"
      
    3. Salvare il file di configurazione e chiuderlo, quindi riavviare il server con il comando nxserver --restart.

    4. Eseguire il log out.

  2. Sul client, aprire una sessione, esportare l'unità floppy via SMB e creare un'icona sul desktop:

    1. Esportare il contenuto dell'unità floppy attraverso Samba utilizzando un gestore file (Nautilus o Konqueror).

    2. Creare un file floppy.desktop nella directory Desktop e immettere la riga seguente:

      Exec=smb://$NX_USERIP/floppy

      Verrà esportato l'indirizzo IP del client e consentito l'accesso all'unità floppy del client mediante l'icona floppy nella sessione NX.

15.2.6. Creazione di una catena di server NX

Una catena di server NX consente di attraversare i firewall e di fronteggiare il mascheramento IP. È possibile utilizzare un server "gateway" esterno per inoltrare le connessioni in ingresso verso un server interno nascosto dietro a un firewall (mascheramento).

Per configurare una catena di server NX, eseguire le operazioni riportate di seguito.

  1. Configurare il server interno come descritto riportato nella Sezione 15.2.1, "Configurazione dell'autenticazione SSH con le chiavi client" e distribuire la chiave privata del server (client.id_dsa.key) in /usr/NX/share/ sul gateway.

  2. Sul server gateway, eseguire le operazioni riportate di seguito.

    1. Eseguire il login come root.

    2. Impostare le variabili seguenti in /etc/nxserver/node.conf, sostituendo myinternalhost con l'indirizzo IP del server NX interno:

      ENABLE_SERVER_FORWARD="1"
      SERVER_FORWARD_HOST="myinternalhost"
      SERVER_FORWARD_KEY="/usr/NX/share/client.id_dsa.key"
    3. Riavviare il server esterno per applicare le modifiche apportare alla configurazione mediante il comando nxserver --restart ed eseguire il log out.

      Tutte le connessioni in ingresso verranno trasferite sul server interno.

15.2.7. Installazione ed esecuzione di FreeNX e NoMachine sullo stesso server

È possibile installare ed eseguire FreeNX e il server commerciale NoMachine NX sullo stesso computer senza interferenze. L'implementazione in FreeNX viene eseguita inoltrando la connessione al server NoMachine installato sullo stesso computer.

Per abilitare questa funzione, eseguire le operazioni riportate di seguito.

  1. Effettuare il login come utente root al computer server.

  2. Aprire il file di configurazione del server relativo a FreeNX in /etc/nxserver/node.conf e impostare la variabile seguente:

    ENABLE_NOMACHINE_FORWARD="1"
  3. Salvare il file e riavviare il server FreeNX con il comando nserver --restart.

  4. Eseguire il log out.

Per connettersi al server NoMachine, utilizzare le credenziali nome utente e password standard. Per connettersi al server FreeNX, aggiungere freenx. prima del nome utente, ad esempio freenx.mariorossi, e specificare la password abituale.