Il Network Information Service è costituito da un protocollo del servizio di directory client-server per la distribuzione dei dati di configurazione del sistema come nomi utente e host tra computer.
NIS consente di creare account utente che possono essere condivisi su tutti i sistemi della rete. La descrizione dei demoni NIS è riportata di seguito:
- portmap/rpcbind :il demone RPC di base su cui viene eseguito NIS.
- yppasswdd :consente agli utenti di modificare le proprie password sul server NIS dai client NIS.
- ypserv :Demone del server NIS principale.
- ypbind :Demone del client NIS principale.
- ypxfrd :Usato per velocizzare il trasferimento di mappe NIS molto grandi
Configurazione del server principale NIS
1. Installa i pacchetti del server NIS.
# yum install yp*
2. Imposta il nome di dominio NIS.
# vi /etc/sysconfig/network NISDOMAIN = [DOMAIN_NAME]
3. Avviare i daemon chiave relativi al server NIS.
# service portmap start # service yppasswdd start # service ypserv start # chkconfig portmap on # chkconfig yppasswdd on # chkconfig ypserv onNota :su CentOS/RHEL 6, viene utilizzato il servizio rpcbind invece del servizio portmap. Avvia rpcbind come mostrato di seguito.
4. Avvia il server rpcbind:
# service rpcbind start # chkconfig rpcbind on
5. Assicurati che i servizi siano in esecuzione.
# rpcinfo -p localhost
Esempio:-
100004 2 udp 843 ypserv 100004 1 udp 843 ypserv 100004 2 tcp 846 ypserv 100004 1 tcp 846 ypserv 100007 2 udp 859 ypbind 100007 1 udp 859 ypbind 100007 2 tcp 862 ypbind 100007 1 tcp 862 ypbind
6. Inizializzare il database NIS.
# /usr/lib/yp/ypinit -m ### On 64 bit systems run '/usr/lib64/yp/ypinit -m`
Aggiunta di nuovi utenti NIS
1. È possibile creare nuovi utenti NIS accedendo al server NIS e creando il nuovo account utente.
# useradd -g users nisuser # passwd nisuser
2. Aggiorna il database NIS.
# make -C /var/yp
3. Immettere il seguente comando sul server master NIS per verificare che il server master NIS sia configurato e che esegua NIS:
# /usr/bin/ypwhich
Configurazione del server slave NIS
La configurazione lato master
1. Modifica /var/yp/Makefile per abilitare le mappe "PUSH" sul server slave quando il database NIS è stato aggiornato.
# vi /var/yp/Makefile NOPUSH=false
2. Modificare /etc/yp.conf per fare riferimento al proprio server.
# vi /etc/yp.conf ypserver 127.0.0.1
3. Avvia i servizi ypbind e ypxfrd.
# service ypbind start # service ypxfrd start # chkconfig ypbind on # chkconfig ypxfrd on
4. Aggiungi i server slave alla mappa del database del server master modificando /var/yp/ypservers.
# vi /var/yp/ypservers master_hostname slave1_hostname slave2_hostname
5. Esegui il comando make per aggiornare la mappa di ypservers.
# make -C /var/yp
La configurazione lato slave
Installa anche i pacchetti yp nel server slave. Assicurati che il nome si risolva correttamente nel nome host/indirizzo IP del master. correggere i file /etc/hosts su entrambi i server.
1. Imposta anche il nome di dominio NIS nel server slave.
# vi /etc/sysconfig/network NISDOMAIN = [DOMAIN_NAME]
2. Avviare il server NIS.
# service portmap start # service ypserv start # chkconfig portmap on # chkconfig ypserv on
3. Assicurati che il servizio sia in esecuzione.
# rpcinfo -p localhost
4. Per verificare la configurazione del server slave NIS, immettere il seguente comando per verificare se il server slave NIS è in esecuzione:
# /usr/bin/ypwhich
5. Effettuare un download iniziale del database dal master con il comando ypinit -s e specificando server bigboy come master da cui devono essere ottenuti i dati.
# /usr/lib/yp/ypinit -s### On 64 bit systems run '/usr/lib64/yp/ypinit -s [master's hostname/IP address] We will need a few minutes to copy the data from server. Transferring protocols.byname... Trying ypxfrd ... success Transferring services.byservicename... Trying ypxfrd ... success Transferring passwd.byname... Trying ypxfrd ... success server NIS data base has been set up.
In caso di avvisi, scopri cosa è andato storto e correggilo.
Configurazione client NIS
1. Impostare il nome di dominio NIS.
# vi /etc/sysconfig/network NISDOMAIN = [DOMAIN_NAME]
2. Modifica il file /etc/yp.conf.
# vi /etc/yp.conf ypserver [master's IP Address] ypserver [slave's IP Address]
3. Avvia i servizi portmap(rpcbind) e ypbind.
# service portmap start # service ypbind start # chkconfig portmap on # chkconfig ypbind on
4. Utilizzare il comando seguente per verificare se le informazioni di autenticazione dell'utente sono state aggiornate.
# ypmatch nisuser passwd
5. Modifica /etc/nsswitch.conf.
# vi /etc/nsswitch.conf passwd: files nis [ add "nis" service ] shadow: files nis [ add "nis" service ] group: files nis [ add "nis" service ]
6. Il comando getent può essere utilizzato anche questo comando restituisce i dati da nsswitch.
# getent passwd nisuser
7. Come soluzione alternativa, puoi impostare i passaggi precedenti usando il comando authconfig.
# authconfig --enablenis --nisdomain=[NIS DOMAIN NAME] --nisserver=[master's IP address],[slaves's IP address] --update