GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare e configurare il server e il client YPServ Linux NIS

NIS sta per Network Information Service.

NIS è anche chiamato YP. YP sta per Pagine Gialle.

NIS è un servizio di ricerca per set di database. I database in questi casi possono essere un file passwd, un file di gruppo, un file hosts, ecc. Questo viene utilizzato principalmente come repository centrale per contenere tutti i nomi utente e le password (ad es. /etc/passwd) e diversi server possono autenticarsi su questo server per il nome utente e la password.

Questo è molto utile per gli amministratori di sistema che devono gestire diversi server. Invece di creare un account utente per i tuoi utenti su ogni server Linux, puoi semplicemente creare l'account su un server configurato per eseguire il server NIS. Tutti gli altri server possono essere configurati come client NIS, che eseguirà l'autenticazione su questo repository del server NIS centrale.

Questo è un tutorial passo dopo passo che spiega l'installazione e la configurazione del server e del client ypserv NIS.

YPServ sta per Yellow Pages Server.

Se un server NIS è già configurato e stai solo tentando di connettere un server Linux a un server NIS esistente, vai alla sezione "Configura client NIS" di seguito.

Se stai installando e configurando sia il server che il client NIS, inizia dal primo passaggio di seguito.

Configurazione del server NIS

1. Verifica Portmap

Il server Portmap associa la porta DARPA al numero del programma RPC. Per un client NIS che effettua chiamate RPC per comunicare con il server NIS (che è un server RPC), portmapper dovrebbe essere in esecuzione.

Quando il server NIS si avvia, informa il portmapper su quale porta è in ascolto. Quando il client NIS contatta un server NIS, verificherà prima con il portmapper e otterrà il numero di porta su cui sono in esecuzione i server NIS e invierà le chiamate RPC a quel numero di porta.

Sulla maggior parte delle distribuzioni Linux, portmap verrà eseguito per impostazione predefinita. Assicurati che sia in esecuzione e configurato per essere avviato al riavvio del sistema.

# ps -ef | grep -i portmap
rpc       3624     1  0 Feb23 ?        00:00:00 portmap
root     16908  8658  0 10:35 pts/0    00:00:00 grep -i portmap

# chkconfig --list | grep portmap
portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off

2. Installa YPSserv

Installa ypserv sul tuo server usando i metodi di installazione tipici per la tua rispettiva distribuzione Linux (ad esempio:apt-get, o yum, o up2date, ecc.).

Se desideri installarlo dal sorgente, scarica il sorgente ypserv.

Sul sistema redhat, identifica l'RPM ypserv dal tuo CD di installazione e installalo come mostrato di seguito usando rpm.

# rpm -ivh ypserv-2.19-5.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:ypserv                 ########################################### [100%]

ypserv verrà installato in /usr/sbin/ypserv

# whereis ypserv
ypserv: /usr/sbin/ypserv /etc/ypserv.conf /usr/share/man/man8/ypserv.8.gz

3. Avvia ypserv

Verifica se ypserv è registrato con la portmap come mostrato di seguito.

# rpcinfo -u localhost ypserv
rpcinfo: RPC: Program not registered
program 100004 is not available

L'output sopra indica che ypserv non è installato o ypserv è installato ma non ancora avviato. Il seguente controllo rapido indica che ypserv non è ancora avviato.

# chkconfig --list | grep yp
ypbind          0:off   1:off   2:off   3:off   4:off   5:off   6:off
yppasswdd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
ypserv          0:off   1:off   2:off   3:off   4:off   5:off   6:off
ypxfrd          0:off   1:off   2:off   3:off   4:off   5:off   6:off

# service ypserv status
ypserv is stopped

Impostare NISDOMAIN nel file /etc/sysconfig/network come mostrato di seguito.

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=prod-db
GATEWAY=192.168.1.1
NISDOMAIN=thegeekstuff.com

Avvia ypserv come mostrato di seguito.

# service ypserv start
Setting NIS domain name thegeekstuff.com: [  OK  ]
Starting YP server services:              [  OK  ]

Ci sono alcuni parametri di configurazione del server NIS impostati nel file /etc/ypserv.conf. Tuttavia, non è necessario modificare i valori predefiniti in questo file.

4. Genera database NIS

Una volta installato e avviato ypserv, è il momento di generare il database NIS. Tutti i database NIS sono archiviati nella directory /var/yp. Prima di generare il database non vedrai la directory per il tuo nome di dominio sotto /var/yp.

# ls -l /var/yp
total 36
drwxr-xr-x 2 root root  4096 May 18  2010 binding
-rw-r--r-- 1 root root 16669 Oct 31  2008 Makefile
-rw-r--r-- 1 root root   185 Jun  6  2007 nicknames

Genera il database NIS utilizzando il programma ypinit come mostrato di seguito. Devi solo inserire il nome host del tuo server NIS per generare il database.

# /usr/lib/yp/ypinit -m

Please continue to add the names for the other hosts, one 
per line.  When you are done with the list, type a .
        next host to add:  prod-db
        next host to add: 

The current list of NIS servers looks like this: prod-db

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/thegeekstuff.com/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/thegeekstuff.com'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
...
gmake[1]: Leaving directory `/var/yp/thegeekstuff.com'

prod-db has been set up as a NIS master server.

Now you can run ypinit -s prod-db on all slave server.

Dopo aver generato il database, puoi vedere che una nuova directory per il tuo dominio è stata creata in /var/yp come mostrato di seguito.

# ls -l /var/yp
total 44
drwxr-xr-x 2 root root  4096 Oct  8 10:59 thegeekstuff.com
drwxr-xr-x 2 root root  4096 May 18  2010 binding
-rw-r--r-- 1 root root 16669 Oct 31  2008 Makefile
-rw-r--r-- 1 root root   185 Jun  6  2007 nicknames
-rw-r--r-- 1 root root    10 Aug 31 10:58 ypservers

/var/yp/ypservers conterrà il nome del nome host del tuo server NIS.

# cat /var/yp/ypservers
prod-db

5. Verifica l'installazione

Verificare l'installazione del server NIS controllando se è possibile accedere al file passwd utilizzando il programma client NIS ypcat.

# ypcat passwd
No such map passwd.byname. Reason: Can't bind to server which serves this domain

Potresti ricevere il messaggio di errore sopra perché ypbind potrebbe non essere in esecuzione sul tuo sistema. Basta avviare ypbind e verificare la configurazione.

# service ypbind start

# ypcat passwd
ramesh:R7EFEGJ1mxRGwVLVC.:401:401::/home/ramesh:/bin/bash
john:QtlRW$Fx.uZvD:402:402::/home/john:/bin/bash

Se non desideri visualizzare il campo passwd crittografato nell'output di ypcat passwd, imposta MERGE_PASSWD su false in /var/yp/Makefile come mostrato di seguito.

# vi /var/yp/Makefile
MERGE_PASSWD=false

Dopo aver eseguito quanto sopra, il comando ypcat passwd visualizzerà semplicemente una "x" nel file passwd.

# ypcat passwd
ramesh:x:401:401::/home/ramesh:/bin/bash
john:x:402:402::/home/john:/bin/bash

Ogni volta che apporti una modifica (aggiornamenti al Makefile o modifiche a un database). Ad esempio, quando si aggiunge un nuovo utente o si modifica un account utente esistente, è necessario effettuare le seguenti operazioni. Senza questo, le modifiche non si rifletteranno su nessuno dei tuoi client NIS.

# cd /var/yp
# make

Ti consiglio di aggiungerlo al lavoro cron di root sul tuo server NIS per eseguirlo ogni 15 minuti. In questo modo, non devi preoccuparti di eseguirlo manualmente ogni volta che apporti modifiche al database NIS.

Configurazione client NIS

I seguenti passaggi devono essere eseguiti sul client NIS. Nell'esempio sopra, abbiamo installato il server NIS su un servername chiamato prod-db. Se si desidera un altro server Linux dev-db, per utilizzare il file /etc/passwd su prod-db per l'autenticazione, è necessario eseguire i seguenti passaggi sul server dev-db (client NIS).

6. Imposta il Nome di Dominio sul Cliente

Verificare che il nome di dominio sia impostato correttamente su questo server. Se questo non restituisce il nome di dominio corretto. Esegui "nomedominio {tuo-dominio}" per impostare il nome di dominio sul server.

# domainname
thegeekstuff.com

Il comando domainname imposterà temporaneamente il nome di dominio. cioè se riavvii il sistema, il nome di dominio non sarà più disponibile. Per rendere permanente il nome di dominio, aggiorna il file di rete e imposta il parametro NISDOMAIN come mostrato di seguito.

# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dev-db
GATEWAY=192.168.1.4
NISDOMAIN=thegeekstuff.com

7. Impostare il nome del server NIS sul client

Aggiungi la seguente riga al file /etc/yp.conf. Questo indica al client NIS che il server NIS è prod-db. Invece di prod-db di seguito, puoi anche fornire l'indirizzo IP del server prod-db.

# vi /etc/yp.conf
domain thegeekstuff.com server prod-db

8. Avvia ypbind sul Cliente

ypbind è un programma vincolante NIS. Questo cerca un server NIS per il tuo dominio NIS e mantiene le informazioni di associazione NIS.

Assicurati che ypbind sia attivo e in esecuzione sul server client NIS. La maggior parte delle distribuzioni Linux ha già installato ypbind. Se non è in esecuzione, avvialo.

# ps -ef | grep ypbind

# service ypbind start

Verificare l'installazione del server NIS controllando se è possibile accedere al file passwd utilizzando il programma client NIS ypcat.

# ypcat passwd
No such map passwd.byname. Reason: Can't bind to server which serves this domain

Potresti ricevere il messaggio di errore sopra perché ypbind potrebbe non essere in esecuzione sul tuo sistema. Basta avviare ypbind e verificare la configurazione.

# service ypbind start

# ypcat passwd
ramesh:x.:401:401::/home/ramesh:/bin/bash
john:x:402:402::/home/john:/bin/bash

Linux
  1. Come configurare server e client NTP su Debian 9 Stretch Linux

  2. Come configurare server e client NFS su Rocky/Alma Linux 8

  3. Come installare e configurare il client Putty SSH su desktop Linux

  4. Come installare e configurare cPanel su un server Linux

  5. Come installare e configurare server e client NTP Linux

Come installare e configurare il server Web Apache su Oracle Linux 8

Come installare e configurare il server Web Nginx su Oracle Linux 8

Come installare e configurare Django su VPS Linux e Server Dedicato?

Come installare e configurare un server NFS Ubuntu Linux

Come configurare il server e il client VPN Linux utilizzando OpenVPN

Come installare e configurare il server DNS in Linux