GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer le serveur et le client NIS YPServ Linux

NIS signifie Network Information Service.

NIS est également appelé YP. YP signifie Pages Jaunes.

NIS est un service de recherche pour un ensemble de bases de données. Dans ce cas, les bases de données peuvent être un fichier passwd, un fichier de groupe, un fichier hosts, etc. Ceci est principalement utilisé comme référentiel central pour contenir tous les noms d'utilisateur et mots de passe (c'est-à-dire /etc/passwd), et différents serveurs peuvent s'authentifier auprès de ce serveur pour le nom d'utilisateur et le mot de passe.

Ceci est très utile pour les administrateurs système qui doivent gérer plusieurs serveurs. Au lieu de créer un compte utilisateur pour vos utilisateurs sur chaque serveur Linux, vous pouvez simplement créer le compte sur un serveur configuré pour exécuter le serveur NIS. Tous les autres serveurs peuvent être configurés en tant que client NIS, qui s'authentifiera auprès de ce référentiel de serveur NIS central.

Il s'agit d'un tutoriel étape par étape qui explique l'installation et la configuration du serveur et du client NIS ypserv.

YPServ signifie Serveur Pages Jaunes.

Si un serveur NIS est déjà configuré et que vous essayez simplement de connecter un serveur Linux à un serveur NIS existant, passez à la section "Configre NIS Client" ci-dessous.

Si vous installez et configurez à la fois le serveur et le client NIS, commencez par la 1ère étape ci-dessous.

Configuration du serveur NIS

1. Vérifier Portmap

Le serveur Portmap mappe le port DARPA au numéro de programme RPC. Pour un client NIS qui effectue des appels RPC pour parler au serveur NIS (qui est un serveur RPC), portmapper doit être en cours d'exécution.

Lorsque le serveur NIS démarre, il informe le mappeur de port sur le port qu'il écoute. Lorsque le client NIS contacte un serveur NIS, il vérifie d'abord avec le mappeur de port et obtient le numéro de port sur lequel les serveurs NIS s'exécutent, puis envoie les appels RPC à ce numéro de port.

Sur la plupart des distributions Linux, portmap sera exécuté par défaut. Assurez-vous qu'il est en cours d'exécution et configuré pour être démarré lorsque le système est redémarré.

# 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. Installer YPServ

Installez ypserv sur votre serveur en utilisant les méthodes d'installation typiques pour votre distribution Linux respective (par exemple :apt-get, ou yum, ou up2date, etc.).

Si vous souhaitez l'installer à partir de la source, téléchargez la source ypserv.

Sur le système redhat, identifiez le RPM ypserv à partir de votre CD d'installation et installez-le comme indiqué ci-dessous à l'aide de rpm.

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

ypserv sera installé sous /usr/sbin/ypserv

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

3. Démarrer ypserv

Vérifiez si ypserv est enregistré avec le portmap comme indiqué ci-dessous.

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

La sortie ci-dessus indique soit ypserv n'est pas installé, soit ypserv est installé mais pas encore démarré. La vérification rapide suivante indique que ypserv n'est pas encore démarré.

# 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

Définissez le NISDOMAIN dans le fichier /etc/sysconfig/network comme indiqué ci-dessous.

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

Démarrez ypserv comme indiqué ci-dessous.

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

Certains paramètres de configuration du serveur NIS sont définis dans le fichier /etc/ypserv.conf. Mais, vous n'avez pas besoin de modifier les valeurs par défaut dans ce fichier.

4. Générer une base de données NIS

Une fois ypserv installé et démarré, il est temps de générer la base de données NIS. Toutes les bases de données NIS sont stockées dans le répertoire /var/yp. Avant de générer la base de données, vous ne verrez pas le répertoire de votre nom de domaine sous /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

Générez la base de données NIS à l'aide du programme ypinit comme indiqué ci-dessous. Il vous suffit d'entrer le nom d'hôte de votre serveur NIS pour générer la base de données.

# /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.

Après avoir généré la base de données, vous pouvez voir qu'un nouveau répertoire pour votre domaine est créé sous /var/yp comme indiqué ci-dessous.

# 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

Le /var/yp/ypservers contiendra le nom d'hôte de votre serveur NIS.

# cat /var/yp/ypservers
prod-db

5. Vérifier l'installation

Vérifiez l'installation du serveur NIS en vérifiant si le fichier passwd est accessible à l'aide du programme client NIS ypcat.

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

Vous pouvez obtenir le message d'erreur ci-dessus car ypbind peut ne pas s'exécuter sur votre système. Démarrez simplement ypbind et vérifiez la configuration.

# service ypbind start

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

Si vous n'aimez pas afficher le champ passwd chiffré dans la sortie ypcat passwd, définissez MERGE_PASSWD sur false dans /var/yp/Makefile comme indiqué ci-dessous.

# vi /var/yp/Makefile
MERGE_PASSWD=false

Après avoir fait ce qui précède, la commande ypcat passwd affichera simplement un "x" dans le fichier passwd.

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

Chaque fois que vous apportez une modification (soit des mises à jour du Makefile, soit des modifications d'une base de données). Par exemple, lorsque vous ajoutez un nouvel utilisateur ou modifiez un compte d'utilisateur existant, vous devez procéder comme suit. Sans cela, les modifications ne seront répercutées sur aucun de vos clients NIS.

# cd /var/yp
# make

Je vous recommande de l'ajouter au travail cron racine sur votre serveur NIS pour l'exécuter toutes les 15 minutes. De cette façon, vous n'avez pas à vous soucier de l'exécuter manuellement chaque fois que vous apportez des modifications à la base de données NIS.

Configuration du client NIS

Les étapes suivantes doivent être exécutées sur le client NIS. Dans l'exemple ci-dessus, nous avons installé le serveur NIS sur un nom de serveur appelé prod-db. Si vous souhaitez qu'un autre serveur Linux dev-db utilise le fichier /etc/passwd sur prod-db pour l'authentification, vous devez effectuer les étapes suivantes sur le serveur dev-db (client NIS).

6. Définir le nom de domaine sur le client

Vérifiez que le nom de domaine est correctement défini sur ce serveur. Si cela ne renvoie pas le bon nom de domaine. Exécutez ‘domainname {votre-domaine}’ pour définir le nom de domaine sur le serveur.

# domainname
thegeekstuff.com

La commande domainname définira temporairement le nom de domaine. c'est-à-dire que si vous redémarrez le système, le nom de domaine disparaîtra. Pour rendre le nom de domaine permanent, mettez à jour le fichier réseau et définissez le paramètre NISDOMAIN comme indiqué ci-dessous.

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

7. Définir le nom du serveur NIS sur le client

Ajoutez la ligne suivante au fichier /etc/yp.conf. Cela indique au client NIS que le serveur NIS est prod-db. Au lieu de prod-db ci-dessous, vous pouvez également donner l'adresse IP du serveur prod-db.

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

8. Démarrer le ypbind sur le client

ypbind est un programme de liaison NIS. Cela recherche un serveur NIS pour votre domaine NIS et conserve les informations de liaison NIS.

Assurez-vous que ypbind est opérationnel sur le serveur client NIS. La plupart des distributions Linux ont déjà installé ypbind. S'il ne fonctionne pas, démarrez-le.

# ps -ef | grep ypbind

# service ypbind start

Vérifiez l'installation du serveur NIS en vérifiant si le fichier passwd est accessible à l'aide du programme client NIS ypcat.

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

Vous pouvez obtenir le message d'erreur ci-dessus car ypbind peut ne pas s'exécuter sur votre système. Démarrez simplement ypbind et vérifiez la configuration.

# service ypbind start

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

Linux
  1. Comment configurer le serveur et le client NTP sur Debian 9 Stretch Linux

  2. Comment configurer le serveur et le client NFS sur Rocky/Alma Linux 8

  3. Comment installer et configurer le client Putty SSH sur le bureau Linux

  4. Comment installer et configurer cPanel sur un serveur Linux

  5. Comment installer et configurer le serveur et le client Linux NTP

Comment installer et configurer Apache Webserver sur Oracle Linux 8

Comment installer et configurer le serveur Web Nginx sur Oracle Linux 8

Comment installer et configurer Django sur Linux VPS et Serveur Dédié ?

Comment installer et configurer un serveur Linux Ubuntu NFS

Comment configurer le serveur et le client VPN Linux à l'aide d'OpenVPN

Comment installer et configurer le serveur DNS sous Linux