Fonctionnement de NIS


Le service NIS (Network Information System),
permet de centraliser les connexions sur un réseau local

Généralités

Configuration du serveur NIS

Configuration d'une machine cliente

Problèmes rencontrés, mini-FAQ

Problèmes serveurs, difficultés rencontrées par l'administrateur

    Comment éviter de relancer "à la main" la procédure Makefile de génération des maps ?
    En mettant en place un script bash tout simple qui sera activé périodiquement, par le service crontab
    #!/bin/bash
    # script à placer dans /usr/sbin (ou un répertoire listé dans le PATH)
    # à nommer par exemple nis.sh
    cd /var/yp
    make
    if [  $? = 0  ]
    then
    echo "Mise à jour des cartes de NIS effectuée"
    fi
    

Problèmes clients, en supposant le serveur fonctionnant correctement .

  1. Quand je lance le service NIS sur une station cliente, j'obtiens des messages d'erreur du genre (les libellés dépendent des distributions et de leur version) :
    # /etc/rc.d/init.d/ypbind start
    Binding to the NIS domain ...             [failed]
    Listening for an NIS domain server .... ypwhich: ne peut communiquer par ypbind
    # domainname
    
    -- > Le nom du domaine NIS n'a pas été précisé
    Indiquer ce nom en passant la commande
    # domainname ecole
    # /etc/rc.d/init.d/ypbind start
    Binding to the NIS domain ...             [OK]
    Lintening for an NIS domain server:  fctice.ac-creteil.fr
    
  2. Le nom du domaine est bien reconnu, mais il y a un blocage quand le client cherche à se lier au serveur du domaine par ypwhich.
    # /etc/rc.d/init.d/ypbind start
    Binding to the NIS domain ...             [OK]
    Lintening for an NIS domain server .... ypwhich: ne peut communiquer par ypbind
    
    La première cause à suspecter est un dysfonctionnement de la connexion réseau. Commencer par "pinguer" le serveur.

  3. Le service client fonctionne correctement comme en témoignent les requêtes :
    # domainname
    ecole
    # ypwhich
    fctice.ac-creteil.fr
    # ypcat hosts.byname
    toto:<password crypté>:502:506:M. le stagiaire Toto:/home/toto:/bin/bash
    ........................
    
    En particulier, la précédente commande me montre que le compte toto existe bien sur le serveur NIS. Et pourtant quand je tente de me "loguer" comme toto/jules, je me retrouve connecté à ma propre machine ! pourquoi ?
    --> probablement le même compte existe aussi sur la station cliente, il y a alors un conflit ! Ce qui est alors déterminant est l'ordre indiqué dans le fichier /etc/nsswitch.conf qui devrait être probablement :
    # extrait de /etc/nsswitch.conf
    passwd:  files nis
    group:   files  nis
    hosts:   files  nis  dns
    
    Attention, changer le mot de passe du compte local ne résoudra rien : l'existence du compte local fait écran au compte NIS.
    Donc une station cliente NIS+NFS ne devrait pas héberger des comptes locaux (bien sûr à part root). L'administrateur devrait les supprimer : # userdel -r user

  4. Je me connecte sur une station en mode console sans problème, mais je n'y parviens pas si la station démarre automatiquement en mode graphique. Pourquoi ?

  5. L'administrateur(e) du réseau de mon établissement vient de créer mon compte sur le serveur et mon répertoire personnel.
    Tout content, je me précipite sur la première station libre, et là j'essuie un échec quand je tente de me connecter ! Pourquoi ?
    Tout simplement il faut se rappeler que les maps ne sont pas mis à jour dynamiquement ! L'administateur doit impérativement relancer manuellement le Makefile, ou mettre en place un script périodique.

  6. Je suis maintenant un "client NIS-NFS" satisfait. Mais, puis-je changer mon mot de passe sans déranger M/Mme root ?
    bash-2.04$ yppasswd toto
    Changing NIS account information for toto on fctice.ac-creteil.fr
    Please enter old password: jules
    Please enter new password : jules1
    retype ...
    The NIS password has been changed on ....