4. Come funziona

4.1. Come funziona NIS

All'interno di una rete ci deve essere almeno una macchina che funzioni come server NIS. È possibile avere più server NIS, ognuno serve differenti "domini" NIS - in alternativa è possibile avere dei server NIS che cooperano, dove uno è il server NIS master, e tutti gli altri sono chiamati server NIS slave (per un determinato "dominio" NIS, ovviamente!) - oppure è possibile avere un misto di questi...

Solo i server slave hanno copie dei database NIS e ricevono queste copie dal server NIS master ogni qual volta vengano fatte modifiche al database master. In relazione al numero di macchine presenti in rete ed alla sua qualità, è possibile decidere di installare uno o più server slave. Ogni qual volta un server NIS si disattiva o è troppo lento per rispondere alle richieste, un client NIS connesso a quel server tenterà di trovarne uno attivo o più veloce.

I database NIS sono in formato così chiamato DBM, derivato dal database ASCII. Per esempio, il file /etc/passwd e /etc/group possono essere direttamente convertiti in formato DBM utilizzando un software di traduzione da ASCII a DBM (makedbm, incluso con il software per il server ). Il server NIS master dovrebbe avere entrambe formati di database.

I server slave verranno avvisati di ogni cambiamento alle mappe NIS (tramite il programma yppush) e recupereranno automaticamente i necessari cambiamenti al fine di sincronizzare i loro database. I client NIS non hanno bisogno di questo poiché sono continuamente in contatto con il server NIS al fine di leggere le informazioni immagazzinate nel suo database DBM.

Le vecchie versioni di ypbind fanno un broadcast per trovare un server NIS in esecuzione. Questo non è un sistema sicuro, a causa del fatto che chiunque potebbe installare un server NIS e rispondere alle interrogazioni broadcast. Le versioni più recenti di ypbind (ypbind-3.3 or ypbind-mt) sono in grado di ottenere il server da un file di configurazione - in questo modo non è più necessario fare il broadcast.

4.2. Come funziona NIS+

NIS+ è una nuova versione del nameservice delle informazioni della rete fornito da Sun. La più grande differenza tra NIS e NIS+ è che NIS+ ha il supporto per la crittografia dei dati e l'autenticazione su RPC sicuro.

Il modello di assegnazione dei nomi di NIS+ è basato su una struttura ad albero. Ogni nodo dell'albero corrisponde ad un oggetto di NIS+, del quale si hanno sei tipi: directory, entry, group, link, table e private.

La directory NIS+ che forma la radice dello spazio dei nomi di NIS+ è chiamata directory radice. Vi sono due speciali directory NIS+: org_dir e groups_dir. La directory org_dir è composta da tutte le tabelle di amministrazione, come passwd, hosts e mail_aliases. La directory groups_dir è composta dal gruppo di oggetti di NIS+ utilizzati per il controllo degli accessi. L'insieme di org_dir, groups_dir e delle loro directory superiori fanno riferimento ad un dominio NIS+.