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.gzVous 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.1etypserv 1.2. Depuis la version 1.2,ypservutilise une mémoire cache pour les manipulations de fichiers. Cela signifie que vous devez toujours appelermakedbmavec l'option-csi créez de nouvelles maps. Assurez-vous que vous utilisez le nouveau/var/yp/Makefilefourni avecypserv 1.2ou une version supérieure, ou ajoutez l'option-càmakedbmdans le Makefile. Si vous ne le faites pas,ypservcontinuera à utiliser les anciennes maps, et non les nouvelles.Éditez ensuite
/var/yp/securenetset/etc/ypserv.conf. Pour plus d'information, lisez les pages de manuelypserv(8)etypserv.conf(5).Assurez-vous que le portmapper (
portmap(8)) fonctionne et lancez le serveurypserv. La commande
% rpcinfo -u localhost ypservdoit vous répondre un message du genre
program 100004 version 2 ready and waitingMaintenant, générez la base de donnée NIS (YP). Sur le serveur maître, lancez :
% /usr/lib/yp/ypinit -msur un esclave, assurez-vous que ypwhich -m fonctionne. C'est à dire que votre esclave doit être configuré en tant que client NIS, puis lancez:
pour que la machine soit un esclave NIS.% /usr/lib/yp/ypinit -s masterhostÇa y est, votre serveur fonctionne.
Si vous avez de plus gros problèmes, vous pouvez lancer
ypservetypbinden 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
crontabroot :
20 * * * * /usr/lib/yp/ypxfr_1perhour 40 6 * * * /usr/lib/yp/ypxfr_1perday 55 6,18 * * * /usr/lib/yp/ypxfr_2perdayDe 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
ypserva les droits pour contacter le serveur maître. Ensuite, lancezsur l'esclave, et ajoutez le nom du serveur au fichier% /usr/lib/yp/ypinit -s masterhost/var/yp/ypservers. Après cela, lancez la commande "make" dans le répertoire/var/yppour 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
ypbindet 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/zshL'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/Makefileet 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,ypchshetypchfnfonctionneront 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 deypservàyps! Cependant,ypsn'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.yppasswdest un serveur qui gére les modifications de mot de passe et qui s'assure que les informations NIS seront correctement mises à jour.rpc.yppasswddest désormais intégré dansypserv. Vous n'avez plus besoin des vieilles versions séparéesyppasswd-0.9.tar.gzouyppasswd-0.10.tar.gz, et vous ne devriez plus les utiliser. La version derpc.yppasswddqui est comprise dansypserv 1.3.2gère totalement les Shadow.yppasswdfait maintenant parti de yp-tools-1.2.tar.gz.Le lancement de
rpc.yppasswddn'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-edechfnou l'option-ede-edechsh.
Page suivante Page précédente Table des matières