NIS
(Network Information System),
NIS
utilisent les fonctions RPC
=Remote Procedure Calls, fonctionnalités supplémentaires
(logées dans la couche session au dessus de TCP/IP), gérées par un service appelé portmap.
ypserv
(et ypbind
et yp-tools
sur les stations)/etc/rc.d/init.d/portmap start /etc/rc.d/init.d/ypserv start /etc/rc.d/init.d/yppasswd startSi cela n'a pas été fait lors de l'installation des paquetages, activer le lancement de ces services au prochain redémarrage de la machine, à l'aide de l'utilitaire
ntsysv
, en cochant ces 2 programmes (ou avec ksysv sous X-KDE)
ecole
par exemple, indépendamment du nom de domaine du réseau,
par exemple fctice.ac-creteil.fr
(="formation continue dans le secteur TICE") , et
également sans rapport avec un éventuel nom de domaine Samba .
# pour permettre l'accès sur le serveur même 255.0.0.0 1270.0.0 # pour permettre l'accès de toutes les machines du sous-réseau (masque et adresse réseau) 255.255.255.0 10.177.240.0
# cd /var/yp # makeIl y a création d'un sous-répertoire /var/yp/ecole (portant le nom du domaine NIS) contenant les 6 fichiers binaires de permissions 600 :
# Host : Map : Security : Passwd_mangle # 10.177.240. : passwd.byname : port : yes 10.177.240. : passwd.byuid : port : yes
# ps ax | grep yp root 550 ..... ypserv root 823 ...... rpc.yppasswdd
ypbind, puis yp-tools
ntsysv
, on peut activer NIS au démarrage en cochant ypbind
, programme exécuté
sur le client, ainsi que portmap
/etc/rc.d/init.d/portmap start (ce qui exécute rpc.portmap) /etc/rc.d/init.d/ypbind start
/etc/sysconfig/network
, comme sur le serveur il faut déclarer le nom du domaine en ajoutant la ligne
NISDOMAIN = "ecole"
/etc/yp.conf
, et y ajouter les 2 lignes
domain ecole server 10.177.240.1
ypserver fctice
/etc/nsswitch.conf
, et veillez à la présence active des lignes
passwd: files nis group: files nis hosts: files nis dns
# /etc/rc.d/init.d/ypbind start Binding to the NIS domain: [OK] Listening for an NIS domain server: fctice.ac-creteil.fr
ps ax |grep yp
doit montrer 2 processus ypbind en exécution.
ypwhich
doit donner le nom complet de la machine qui héberge le serveur
ypcat passwd
permet d'afficher la carte des comptes utilisateurs
login: toto Password: jules Last login: ... No directory /home/toto! Logging in with home = "/". bash-2.04$Que s'est-il passé ?
$ telnet fctice Trying 10.177.240.1 .. Connected to fctice.ac-creteil.fr ...... login: toto Password: jules [toto@fctice toto] $
#!/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
# /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
# /etc/rc.d/init.d/ypbind start Binding to the NIS domain ... [OK] Lintening for an NIS domain server .... ypwhich: ne peut communiquer par ypbindLa première cause à suspecter est un dysfonctionnement de la connexion réseau. Commencer par "pinguer" le serveur.
# 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 ?
/etc/nsswitch.conf
qui devrait être probablement :
# extrait de /etc/nsswitch.conf passwd: files nis group: files nis hosts: files nis dnsAttention, changer le mot de passe du compte local ne résoudra rien : l'existence du compte local fait écran au compte NIS.
/etc/rc.d/rc 3.d/@S17ypbind vers /etc/rc.d/rc5.d/
ln -s /etc/rc.d/rc.d/ypbind /etc/rc.d/rc0.d/@K83ypbind ln -s /etc/rc.d/rc.d/ypbind /etc/rc.d/rc6.d/@K83ypbind
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 ....