Page suivante - Page précédente - Table des matières

10. Configurer un serveur NIS

10.1 Le programme serveur ypserv

Ce document ne décrit que la manière de configurer le serveur NIS "ypserv".

Les programmes serveur NIS peuvent être trouvés sur :

 Site                   Repertoire                    Nom de fichier
 ftp.kernel.org         /pub/linux/utils/net/NIS      ypserv-1.3.2.tar.gz
 wauug.erols.com        /pub/net/nis                  ypserv-1.3.2.tar.gz

Vous pouvez également regarder le document http://www-vt.uni-paderborn.de/~kukuk/linux/nis.html pour obtenir de plus amples informations ainsi que les sources.

La configuration du serveur est la même que cela soit le NIS traditionnel ou NYS.

Compilez les sources pour générer les programmes "ypserv" et "makedbm". Si votre serveur est considéré comme maître, déterminez quels fichiers vous souhaitez rendre disponibles via NIS et ajoutez ou supprimez les entrées appropriées dans /var/yp/Makefile.

Il y a une seule grande différence entre ypserv 1.1 et ypserv 1.2. Depuis la version 1.2, ypserv utilise une mémoire cache pour les manipulations de fichiers. Cela signifie que vous devez toujours appeler makedbm avec l'option -c si créez de nouvelles maps. Assurez-vous que vous utilisez le nouveau /var/yp/Makefile fourni avec ypserv 1.2 ou une version supérieure, ou ajoutez l'option -c à makedbm dans le Makefile. Si vous ne le faites pas, ypserv continuera à utiliser les anciennes maps, et non les nouvelles.

Éditez ensuite /var/yp/securenets et /etc/ypserv.conf. Pour plus d'information, lisez les pages de manuel ypserv(8) et ypserv.conf(5).

Assurez-vous que le portmapper (portmap(8)) fonctionne et lancez le serveur ypserv. La commande

 % rpcinfo -u localhost ypserv

doit vous répondre un message du genre

 program 100004 version 2 ready and waiting

Maintenant, générez la base de donnée NIS (YP). Sur le serveur maître, lancez :

 % /usr/lib/yp/ypinit -m

sur un esclave, assurez-vous que ypwhich -m fonctionne. C'est à dire que votre esclave doit être configuré en tant que client NIS, puis lancez:

 % /usr/lib/yp/ypinit -s masterhost
pour que la machine soit un esclave NIS.

Ça y est, votre serveur fonctionne.

Si vous avez de plus gros problèmes, vous pouvez lancer ypserv et ypbind en mode debug sur des xterms différents. La sortie écran du mode débug devrait vous montrer ce qui ne va pas.

Il est possible que vous souhaitiez ajouter les lignes suivantes sur le serveur esclave dans la crontab root :

 20 *    * * *    /usr/lib/yp/ypxfr_1perhour
 40 6    * * *    /usr/lib/yp/ypxfr_1perday
 55 6,18 * * *    /usr/lib/yp/ypxfr_2perday

De cette manière, vous êtes sûr que les maps NIS sont synchronisées et sont à jour, même s'il peut arriver qu'une mise à jour soit ratée parce que l'esclave était arrêté lors de la mise à jour du maître.

Vous pouvez ajouter un esclave n'importe quand, ensuite. Tout d'abord, assurez-vous que le nouveau ypserv a les droits pour contacter le serveur maître. Ensuite, lancez

 % /usr/lib/yp/ypinit -s masterhost
sur l'esclave, et ajoutez le nom du serveur au fichier /var/yp/ypservers. Après cela, lancez la commande "make" dans le répertoire /var/yp pour mettre les maps à jour.

Si vous souhaitez restreindre l'accès au serveur NIS, vous devez configurer le serveur NIS comme s'il était également un client en lançant ypbind et en ajoutant les entrées "+" dans le fichier /etc/passwd. La bibliothèque de fonctions va alors ignorer les entrées normales après la première entrée NIS et va récupérer le reste des informations en utilisant NIS. C'est de cette manière que sont maintenues les règles d'accès NIS. Par exemple :

 root:x:0:0:root:/root:/bin/bash
 daemon:*:1:1:daemon:/usr/sbin:
 bin:*:2:2:bin:/bin:
 sys:*:3:3:sys:/dev:
 sync:*:4:100:sync:/bin:/bin/sync
 games:*:5:100:games:/usr/games:
 man:*:6:100:man:/var/catman:
 lp:*:7:7:lp:/var/spool/lpd:
 mail:*:8:8:mail:/var/spool/mail:
 news:*:9:9:news:/var/spool/news:
 uucp:*:10:50:uucp:/var/spool/uucp:
 nobody:*:65534:65534:noone at all,,,,:/dev/null:
 +miquels::::::
 +:*:::::/etc/NoShell
 [ Tous les utilisateurs normaux APRES cette ligne !]
 tester:*:299:10:Just a test account:/tmp:
 miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh

L'utilisateur tester existera toujours mais il aura l'interpréteur de commandes /etc/NoShell. L'utilisateur miquels aura un accès normal.

Sinon, vous pouvez également éditer le fichier /var/yp/Makefile et configurer NIS pour qu'il utilise un autre fichier passwd. Sur de gros systèmes, les fichiers passwd et group sont généralement conservés dans le répertoire /var/yp/ypfiles/. Si vous utilisez les outils standards pour administrer le fichier mot de passe ("passwd", "chfn", "adduser"), cela ne fonctionnera plus et devrez alors créer vos propres outils.

Toutefois, yppasswd, ypchsh et ypchfn fonctionneront bien sur.

10.2 Le programme serveur yps

Pour mettre en place le serveur NIS yps, consultez les paragraphes précédents. Sa configuration est assez similaire sans être exactement la même, donc faites attention si vous essayez d'appliquer les instructions de ypserv à yps! Cependant, yps n'est plus maintenu par son auteur, et contient un certain nombre de failles de sécurité. Vous devriez éviter de vous en servir.

Ce serveur NIS peut être trouvé sur :

 Site                Repertoire               Nom du Fichier
 ftp.lysator.liu.se  /pub/NYS/servers            yps-0.21.tar.gz

10.3 Le programme rpc.yppasswdd

À chaque fois qu'un utilisateur change son mot de passe, le mot de passe de la base de données NIS, ainsi que celui des autres bases de données NIS, doit être mis à jour. Le programme rpc.yppasswd est un serveur qui gére les modifications de mot de passe et qui s'assure que les informations NIS seront correctement mises à jour. rpc.yppasswdd est désormais intégré dans ypserv. Vous n'avez plus besoin des vieilles versions séparées yppasswd-0.9.tar.gz ou yppasswd-0.10.tar.gz, et vous ne devriez plus les utiliser. La version de rpc.yppasswdd qui est comprise dans ypserv 1.3.2 gère totalement les Shadow. yppasswd fait maintenant parti de yp-tools-1.2.tar.gz.

Le lancement de rpc.yppasswdd n'est nécessaire que sur le serveur maître. Par défaut, les utilisateurs ne sont pas autorisés à changer leur Nom complet (NDT: Prénom + Nom), ni leur shell. Vous pouvez cependant les y autoriser en utilisant l'option -e de chfn ou l'option -e de -e de chsh.


Page suivante - Page précédente - Table des matières