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.
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
À 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
.