Mettre en place le « Network Information System »

Introduction et présentation

Objectifs : LE NIS (Network Information System) est un service de diffusion de l'information dans un réseau de machines. Cette information regroupe le contenu des tables présentes sur le serveur NIS (/etc/passwd, /etc/shadow, /etc/group, /etc/hosts, /etc/services, ...).

Comencez par lire cette présentation générale du NIS.

Le serveur NIS

  1. Vérifiez la présence du portmapper :
    $ rpcinfo -p localhost
    
  2. Vérifiez la présence des packages serveur :
    $ yum install ypserv yp-tools
    
  3. Choisissez un domaine NIS (une chaîne de caractères pour faire le lien entre client NIS et serveur NIS). N'oubliez pas de mettre le numéro de votre machine dans le domaine pour éviter les confusions.
    $ ypdomainname monXX.domaine.fr
    
    pour que le choix du domaine NIS soit automatiquement fait au démarrage de la machine, ajoutez une ligne au fichier /etc/sysconfig/network :
    $ echo NISDOMAIN=monXX.domaine.fr >> /etc/sysconfig/network
    
  4. Lancez un serveur pour ce domaine et vérifiez la présence du service RPC ypserv avec la commande rpcinfo.
    $ /etc/rc.d/init.d/ypserv restart
    $ rpcinfo -p localhost
    
  5. initalisez la base de données du NIS à partir des fichiers locaux (l'option -m indique que vous êtes sur un serveur maître). Vous pouvez constater le résultat dans le répertoire /var/yp/monXX.domaine.fr.
    $ /usr/lib/yp/ypinit -m
    

Un client NIS

  1. Vérifiez la présence des packages client et serveur :
    $ yum install ypbind yp-tools
    
  2. Choisissez le domaine NIS auquel votre client NIS doit se connecter.
    $ ypdomainname monXX.domaine.fr
    
    pour que le choix du domaine NIS soit automatiquement fait au démarrage de la machine, ajoutez une ligne au fichier /etc/sysconfig/network :
    $ echo NISDOMAIN=monXX.domaine.fr >> /etc/sysconfig/network
    
  3. Donnez (dans le fichier de configuration du client NIS /etc/yp.conf) le nom (ou l'adresse) du serveur NIS. Provitez-en pour lire ce fichier de configuration.
    $ echo domain monXX.domaine.fr server adresse-serveur-NIS >> /etc/yp.conf
    
  4. Lancez le démon client NIS (ypbind) et vérifiez sa présence :
    $ /etc/rc.d/init.d/ypbind start
    $ rpcinfo -p localhost
    
  5. Demandez au client NIS (ypbind) de vous donner la liste des utilisateurs définis sur le serveur NIS :
    $ ypcat passwd
    
    Lisez le manuel des commandes ypcat, ypmatch et ypmatch.

Échanger des utilisateurs

Objectif : utiliser la machine virtuelle (MV) comme client NIS et la machine physique (MP) comme serveur NIS.

  1. Faites en sorte que votre machine virtuelle (VM) soit cliente de votre machine physique (MP). Vous pouvez préciser le domaine et le serveur dans le fichier de configuration de ypbind, c'est à dire /etc/yp.conf.
  2. Modifiez le fichier /etc/nsswitch.conf pour activer le NIS (entrée passwd et group notamment).
  3. Vérifiez que les logins de la MP fonctionnent sur la MV.
  4. Exporter les fichiers des utilisateurs (/home de la MP) de manière à ce qu'un utilisateur (défini sur la MP) puisse se connecter et travailler avec ses fichiers sur la MV.
  5. Vérifiez ensuite que cet utilisateur peut changer son mot de passe (service RPC yppasswdd) à partir de la MV.
  6. Modifiez votre fichier /etc/hosts et mettez à jour la base NIS.
  7. En modifiant la configuration du serveur NIS (fichier /etc/ypserv.conf), faites en sorte que la MV ne puisse plus avoir accès à la table hosts (à titre d'exemple bien sur).
  8. Limitez l'accès au serveur NIS aux deux seules machines MP et MV (fichier /etc/securenets).
  9. Cherchez dans le makefile (fichier /var/yp/Makefile) l'entrée « all ». Vous voyez que certaines tables ne sont pas publiées par défaut. Ajoutez une nouvelle table (par exemple ethers).