[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Faire marcher NIS sous Debian



Le lun 28/10/2002 à 03:48, Aurélien Le Provost a écrit :
> > Qu'insinue-tu en disant "ypcat passwd marche" ?
> > Que le binaire en question soit accessible à l'utilisateur, oui.
> > Qu'il affiche la liste des utilisateurs sans les mots de passe, oui.
> > Qu'il le fasse avec, c'est que tu as mal configuré le support shadow.
> 
> Il y a les mots de passe. Le problème se situe sur le serveur ? Il y a 
> pourtant les mots de passe shadow d'activé ?

Bien. Pour couper court à toutes ces remarques, et attendu que mes
souvenirs de NIS dataient un peu, j'ai installé rapidemment le paquet
debian nis afin d'étayer mes affirmations.

Soit arioch, le serveur NIS et mabelrode, un client NIS...
La première est une sid et la seconde, une sarge.
J'ai suivi ce fichier pour installer nis selon la méthode debain: 
 /usr/share/doc/nis/nis.debian.howto.gz

Conformément à ce document, j'ai mis à jour et vérifié les fichiers
suivants sur arioch:

/etc/default/nis:
...
# Are we a NIS server and if so what kind (values: false, slave, master)
NISSERVER=master
...

/etc/ypserv.securenets:
...
# Allow access for localnet
255.255.255.0           10.0.0.0
...

/etc/ypserv.conf: rien à redire.

/etc/networks:
localnet 10.0.0.0

Puis, j'ai exécuté la commande suivante toujours en suivant le document:
/usr/lib/yp/ypinit -m

NB: J'ai égalemment touché au fichier /var/yp/Makefile afin de diminuer
les valeurs minimales des uid et gid afin d'inclure mon utilisateur.
Par défaut, c'est 1000:1000, je l'ai donc ainsi réduit à 500:100.

Notez qu'il n'est pas utile de relancer le serveur ypserv à chaque mise
à jour: j'aurais pu dire de lancer le serveur bien avant la création de
la base: 
/etc/init.d/nis start
Starting NIS services: ypserv yppasswdd ypxfrd ypbind ...

A présent, j'installes un client nis sur mabelrode.
Nul besoin est de modifier quoique ce soit, par défaut le paquet nis est
valide pour un client. Il ne démarre d'ailleurs qu'ypbind.

Passons aux choses sérieuses:

[surcouf@mabelrode 23:19:39 surcouf]$ ypcat passwd
nobody:x:65534:65534:nobody:/home:/bin/sh
surcouf:x:500:100:Raphaël Bordet,,,:/home/nfs/surcouf:/bin/bash

J'ai bien la liste: le serveur tourne et distribue la base.

[surcouf@mabelrode 23:19:43 surcouf]$ ypcat shadow.byname
[surcouf@mabelrode 23:31:58 surcouf]$

Si j'essaie d'accéder à cette "carte" (map), je n'y parviens pas.
A l'époque où je m'en servais, on obtenais la liste mais sans le mot de
passe. Le support actuel va apparement encore plus loin supprimant la
liste inutile...

Mêmes tests en root:
[root@mabelrode 23:14:51 /var/www/theseb.prout.be]# ypcat passwd
nobody:x:65534:65534:nobody:/home:/bin/sh
surcouf:x:500:100:Raphaël Bordet,,,:/home/nfs/surcouf:/bin/bash

C'est normal.

[root@mabelrode 23:19:24 /var/www/theseb.prout.be]# ypcat shadow.byname
nobody:*:11515:0:99999:7:::
surcouf:<un long et encodé mot de passe>:11978:0:99999:7:::

Là aussi, c'est normal: seul le super-utilisateur du poste client a
accés à la carte en question ! D'où l'intérêt de supprimer les suid
inutiles, voire préférer un accés root par ssh plutôt que par su...

Voilà: une belle démonstration vaut mieux qu'un long discours parfois...
J'espère que vous comprenez maintenant mon insistance sur le sujet.

-- 
Raphaël Bordet
surcouf@linuxfr.net




Reply to: