NFS vs SAMBA

Choisir entre NFS ou SAMBA

Dans un environnement résau sous UNIX, le partage de ressources réseau est importante. Et comme le protocole Samba est maintenant implémenté par défaut sur la plupart des systèmes UNIX, la question du choix NFS ou SAMBA peut se poser.

Comparaison

NFS

Le protocole NFS a été développé dans le monde UNIX afin de partager des répertoires. Il est fondé nativement sur l'authentification par hôte et non pas utilisateur.

Pour une gestion fine des utilisateurs, il faut utiliser le même ID sur le serveur et les clients, ainsi qu'un certain nombre d'options. Ce qui s'avère rapidement compliqué.

L'authentification par hôte peut se faire, soit par adresse IP (et dans ce cas, il faut gérer le DHCP), soit par nom de machine (et dans ce cas, il faut gérer un DNS ou un fichier hosts).

Pour des ressources communes, il est toutefois possible de ne préciser aucun hôte, ce qui signifie tout le monde.

Une fois le système de fichier monté sur la machine cliente, l'accès se fait selon le processus habituel UNIX, c'est-à-dire que c'est l'uid/gid qui donne les droits d'accès aux fichiers et répertoires. Or, si un utilisateur autre possédait le même uid/gid, alors il pourrait accéder à des fichiers/répertoires qui ne lui sont normalement pas autorisés. Il faudrait donc définir finement, sur chaque machine cliente, qu'un utilisateur donné ne corresponde à un seul et unique uid/gid.

Cependant, le système NFS est aisé à mettre en place et plus performant que SAMBA. Il est donc idéal pour des répertoires partagés.

SAMBA

Le protocole SAMBA a été créé pour interconnecter le monde Windows avec UNIX. Son authentification est fondée sur l'utilisateur.

Pour un utilisateur donné, quelle que soit sa machine, il est aisé de le rediriger vers son répertoire personnel, juste avec son login/mot de passe, ce qui est beaucoup plus simple à gérer dans une architecture dispersée (réseau).

Conclusion

Afin d'éviter une mise en œuvre complexe, pour des réseaux sans contraintes particulières, le plus simple est donc de procéder comme suit :

  • Pour les ressources fixes - logiciels, CDROM, sources, mises à jour, etc. -, utiliser NFS.

  • Pour les ressources utilisateurs - home/utilisateur, etc. -, utiliser SAMBA.