5 – NFS
NFS est un protocole qui permet d’accéder à des fichiers à travers le réseau.
il est intéressant d’associer NFS à Kerberos pour que les utilisateurs retrouvent leurs fichiers quelque soit la machine utilisé. Pour cela, il faudra prévoir un espace de stockage sur un serveur.
Nous allons voir la configuration de NFS et utiliser Kerberos pour le sécuriser.
Installation des paquets NFS
sudo aptitude install nfs-kernel-server nfs-common
NFSv4 utilise un pseudo système de fichier qui monte le véritable répertoire à exporter dans un répertoire « export » en utilisant l’option -bind. Nous devons créer ce répertoire :
sudo mkdir /export
sudo mkdir /export/home
Afin de monter /home sous /export/home a chaque démarrage du serveur, nous devons modifier « /etc/fstab » en ajoutant la ligne suivante à la fin du fichier :
/home /export/home none bind 0 0
Pour l’instant, pas besoin de redémarrer, nous pouvons monter le répertoire manuellement :
sudo mount /export/home
En suite, nous allons dire à NFS ce qu’il doit exporter en configurant le fichier « /etc/exports » :
/export *(rw,fsid=0,crossmnt,insecure,async,no_subtree_check,sec=krb5p:krb5i:krb5)
/export/home *(rw,insecure,async,no_subtree_check,sec=krb5p:krb5i:krb5)
Maintenant, nous devons dire à NFS d’utiliser Kerberos en premier en modifiant les options du fichier /etc/default/nfs-common:
NEED_STATD=
STATDOPTS=
NEED_GSSD=yes
Et en modifiant les options suivantes dans le fichier « /etc/default/nfs-kernel-server »:
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS=–manage-gids
NEED_SVCGSSD=yes
RPCSVCGSSDOPTS=
RPCNFSDOPTS=
Pour reconnaître les utilisateurs et les groupes à partir de LDAP, le fichier de configuration « /etc/idmapd.conf » est utilisé. Avant la version 12.04 d’ubuntu, il fallait tous configurer manuellement. Maintenant, tout est fait automatiquement. Ouf!
Pour finir, nous devons créer les Kerberos principals pour le serveur NFS.
sudo kadmin.local -q « addprinc -randkey nfs/bidule.exemple.local »
sudo kadmin.local -q « ktadd nfs/bidule.exemple.local »
sudo kadmin.local est utilisé parce que les privilèges sudo sont nécessaire pour écrire dans « /etc/krb5.keytab ».
Webographie
http://www.danbishop.org/2012/06/02/ubuntu-12-04-ultimate-server-guide-first-draft/5/#part-5-nfs