J’ai installé NIS et NFS pour une association avec un serveur et 8 postes clients, tous sous Debian. Je rédige ce guide en tant qu’aide-mémoire au cas où j’aurais à recommencer un jour, et parce qu’il peut être utile à quelqu’un d’autre.
Tout d’abord, il faut installer NIS sur le serveur et les clients :
# apt-get install nis
Le script d’installation du paquet vous demande le nom de domaine, indiquez quelque chose d’adéquat. Le nom de domaine NIS doit être le même sur le serveur et les clients. Par la suite, si vous avez besoin de le changer, éditez /etc/defaultdomain. On vous explique ensuite que vous allez devoir configurer à la main, en suivant les instructions de /usr/share/doc/nis/nis.debian.howto.gz, qui sont utiles mais n’expliquent pas tout.
Il faut commencer par éditer /etc/hosts pour s’assurer de ces deux lignes :
127.0.0.1 localhost loopback 192.168.1.254 hostname_serveur
Éditez ensuite /etc/default/nis pour changer la valeur de « NISSERVER » à « master » et celle de « NISCLIENT » à « false ».
Éditez ensuite /etc/ypserv.securenets pour remplacer la ligne :
0.0.0.0 0.0.0.0
par
255.255.0.0 192.168.0.0
Lancez ensuite :
# /etc/init.d/nis stop
# /etc/init.d/nis start
# /usr/lib/yp/ypinit -m
qui vous donne cette sortie :
# /usr/lib/yp/ypinit -m At this point, we have to construct a list of the hosts which will run NISservers. localhost.localdomain is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a ^d. next host to add: localhost.localdomain next host to add:
Faîtes Control+d pour obtenir cette réponse :
The current list of NIS servers looks like this: localhost.localdomain Is this correct? [y/n: y]
Tapez « y ».
Si comme moi vous voulez exporter les groupes systèmes, éditez /var/yp/Makefile et changez la valeur de « MINGID » :
MINGID=0
Éditer aussi /etc/hosts sur les clients :
127.0.0.1 localhost loopback 192.168.1.5 hostname_client
Éditez ensuite /etc/yp.conf :
ypserver 192.168.1.254
Assurez-vous que votre /etc/nsswitch.conf ressemble à ça :
passwd: compat group: compat shadow: compat hosts: files dns networks: files dns protocols: db files services: db files nis ethers: db files rpc: db files netgroup: files nis netmasks: files publickey: files aliases: files nis
Ensuite éditez /etc/passwd et ajoutez-y la ligne :
+::::::
Dans /etc/shadow :
+::::::::
Dans /etc/group :
+:::
Avec une gestion des comptes centralisée, vous aurez peut-être envie d’exporter les répertoires personnels du serveur, pour que vos utilisateurs retrouvent leurs billes quel que soit le poste où ils se connectent. Il suffit d’installer le paquet nfs-common sur le serveur et les clients. Sur le serveur, il faut de plus installer nfs-kernel-server et créer un /etc/exports qui ressemble à :
/home 192.168.1.1(rw,sync,no_root_squash,subtree_check) /home 192.168.1.2(rw,sync,no_root_squash,subtree_check) /home 192.168.1.3(rw,sync,no_root_squash,subtree_check) /home 192.168.1.4(rw,sync,no_root_squash,subtree_check) /home 192.168.1.5(rw,sync,no_root_squash,subtree_check) /home 192.168.1.6(rw,sync,no_root_squash,subtree_check) /home 192.168.1.7(rw,sync,no_root_squash,subtree_check) /home 192.168.1.8(rw,sync,no_root_squash,subtree_check)
Il ne reste plus qu’à ajouter cette ligne au /etc/fstab des clients :
192.168.1.254:/home /home nfs rsize=4096,wsize=4096,hard,intr,nosuid,lock 0 0