Autenticazione dei client di una rete e condivisione delle home directory

di Stefano Sasso

1. Introduzione

In questo articolo vedremo come condividere il file utenti, password, gruppi, ... attraverso la rete in modo che ogni client non debba avere una replica dei vari files per l'autenticazione del server: immaginate che in utente voglia cambiare la sua password: dovrebbe farlo su ogni client, e sarebbe un po' scomodo soprattutto se il numero di computer è elevato. Con NIS, basta usare il comando yppasswd al posto di passwd per aggiornare la password sul server e quindi su tutti i client. In parole povere vedremo come creare un sistema di autenticazione centralizzato, un po' come avviene nei domini NT o Active Directory di Microzoft. NFS invece ci consente di esportare le home directory degli utenti in modo che siano accessibili da ogni client.

2. Configurazione del server

2.1 Configurazione di NFS per il server

La macchina server richiede di operare su un unico file di configurazione: /etc/exports. In esso andranno inseriti nelle righe e colonne le directory da esportare e i permessi per l'esportazione.

/home         (rw, no_root_squash)

Vediamo che la directory /home viene esportata con i permessi di lettura e scrittura (rw). Ciò serve per fare in modo che gli utenti possano leggere e scrivere nel loro spazio su disco. L'opzione "no_root_squash" permette all'utente "root" dei client di poter accedere alla directory con pieni permessi.

è ora necessario lanciare sul server (e predisporre che vengano lanciati ad ogni avvio) i servizi portmap e nfs.

2.2 Configurazione di NIS per il server

Innanzitutto è necessario scegliere un nome per il dominio NIS (ad esempio nis.miarete) e inserirlo nel file /etc/sysconfig/network

NISDOMAIN="nis.miarete"

senza dover riavviare i servizi digitare (# indica il fatto che il comando deve essere eseguito come root)

# nisdomain nis.miarete

Ora inizializziamo il server NIS

# cd /usr/lib/yp

# ./ypinit -m

Il tool crea in automatico i file di configurazione nella directory /var/yp.

Ora lanciate il servizio ypserv e predisponetelo perchè venga lanciato ad ogni avvio.

3. Configurazione dei client

3.1 Configurazione di NFS per i client

Dal lato client bisogna solamente modificare il file /etc/fstab aggiungendo in coda una riga come la seguente:

192.168.7.14:/home     /home     nfs     bg

dove 192.168.7.14 è l'indirizzo ip del server. Ad ogni avvio del sistema il mount avverrà in automatico, si può comunque forzare l'operazione di mount/umount:

# mount /home per il mount

# umount /home per l'unmount.

3.2 Configurazione di NIS per i client

Per configurare NIS nei client bisogna modificare il file /etc/yp.conf :

domain     nis.miarete     server     192.168.7.14

dove nis.miarete è il dominio NIS definito nel server e 192.168.7.14 è il server.

Ora è necessario riavviare (o avviare) il servizio ypbind e predisporlo perchè venga avviato ad ogni avvio del sistema.

In alcuni sistemi è necessario modificare il file /etc/nsswitch.conf perchè esegua la ricerca degli utenti, delle password e dei gruppi tramite NIS. Per ulteriori informazioni consultare la manpage di nsswitch.conf .

4. Conclusioni

Ora nei client l'utente non dovrà più utilizzare il comando passwd per cambiare la propria password ma bensì yppasswd. Il comando passwd verrà utilizzato solo per cambiare la password degli utenti locali.

Ora sarete in grado di effettuare il login da ogni client.


www.gnustile.net