= Problème = Je n'arrive pas à exporter correctement les données avec NFSv4. J'ai soit un problème de mapping des utilisateurs, soit les dossiers sont introuvables. Je vais tenter de présenter ma situation. === Aperçu de /etc/fstab === {{{ /dev/hda2 / ext3 errors=remount-ro 0 1 /dev/hda1 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/systeme/home /home ext3 defaults,usrquota,grpquota 0 2 /dev/systeme/tmp /tmp ext3 defaults 0 2 /dev/systeme/var /var ext3 defaults 0 2 /dev/systeme/log /var/log ext3 defaults 0 2 /home /nfsv4/home none rw,bind 0 0 }}} '''NOTE''' : dans `/home` j'ai des répertoires {refer,foad,auf} === Aperçu de /etc/exports === {{{ /home/refer 192.168.18.0/24(rw,async,root_squash,no_subtree_check) /nfsv4 192.168.18.0/24(ro,async,root_squash,no_subtree_check,insecure,nohide,fsid=0) /nfsv4/home 192.168.18.0/24(rw,async,no_subtree_check,nohide,insecure) }}} == Là où ça coince == === Avec autofs === Lorsque je tente d'accéder depuis un poste fraichement installé avec ''auf-client-fixe'' (1004.20) j'ai ceci {{{ auf0@auf12:/etc$ ls -l /net/nfs total 0 dr-xr-xr-x 3 root root 0 2011-02-04 12:02 home drwxr-xr-x 2 root root 0 2011-02-04 12:02 nfsv4 auf0@auf12:/etc$ ls -l /net/nfs/nfsv4/ total 0 drwxr-xr-x 2 root root 0 2011-02-04 12:03 home auf0@auf12:/etc$ ls -l /net/nfs/nfsv4/home/ ls: impoossible d'ouvrir le répertoire /net/nfs/nfsv4/home/: Aucun fichier ou dossier de ce type }}} Et dans l'autre repertoire (''qui fonctionne sans soucis en nfs3''), `/net/nfs/home`, j'obtiens des UID positionnés à `nobody` . Exemple quand je fais `ls -l /net/nfs/home/refer` {{{ drwxr-x--- 34 nobody refer 4096 2011-01-20 07:57 test }}} Je ne pense pas avoir de problème pour l'authentification. Les requêtes sur les utilisateurs se passent correctement. Exemple: {{{ auf0@auf12:~$ getent passwd testeur testeur:x:10000:10000:willy ted:/home/refer/test:/bin/false }}} === Montage manuel === Quand je fais `mount -t nfs4 nfs:/home /mnt/ ` ; j'obtiens la même chose qu'avec autofs c'est à dire : {{{ drwxr-x--- 34 nobody refer 4096 2011-01-20 07:57 test }}} == Aperçu de la commande mount == {{{ /dev/mapper/auf12-root on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on /dev/shm type tmpfs (rw,nosuid,nodev) none on /var/run type tmpfs (rw,nosuid,mode=0755) none on /var/lock type tmpfs (rw,noexec,nosuid,nodev) none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime) /dev/sda1 on /boot type ext3 (rw) rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) nfs:/home/refer on /net/nfs/home/refer type nfs4 (rw,nosuid,nodev,noatime,hard,intr,proto=tcp,intr,clientaddr=192.168.18.82,sloppy,addr=192.168.18.2) nfs:/home on /mnt type nfs4 (rw,clientaddr=192.168.18.82,addr=192.168.18.2) }}} == Quelques logs == Enregistrés au moment où j'effectuais ces manipulations === /var/log/daemon.log === {{{ Feb 4 12:08:36 auf12 rwhod[1226]: sending on interface eth0 Feb 4 12:08:37 auf12 init: plymouth-stop pre-start process (1276) terminated with status 1 Feb 4 12:08:38 auf12 ntpdate[1300]: adjust time server 192.168.18.1 offset -0.332767 sec Feb 4 12:08:39 auf12 automount[1307]: syntax error in nsswitch config near [ syntax error ] Feb 4 12:08:39 auf12 gdm-session-worker[1318]: WARNING: Unable to load file '/etc/gdm/custom.conf': Aucun fichier ou dossier de ce type Feb 4 12:08:40 auf12 polkitd[1325]: started daemon version 0.96 using authority implementation `local' version `0.96' Feb 4 12:08:41 auf12 gdm-simple-greeter[1316]: Gtk-WARNING: /build/buildd/gtk+2.0-2.20.1/gtk/gtkwidget.c:5636: widget not within a GtkWindow Feb 4 12:08:41 auf12 acpid: client connected from 1415[108:114] Feb 4 12:08:41 auf12 acpid: 1 client rule loaded Feb 4 12:21:18 auf12 gdm-session-worker[1318]: GLib-GObject-CRITICAL: g_value_get_boolean: assertion `G_VALUE_HOLDS_BOOLEAN (value)' failed Feb 4 12:21:33 auf12 gdm-session-worker[1542]: WARNING: Unable to load file '/etc/gdm/custom.conf': Aucun fichier ou dossier de ce type Feb 4 12:21:38 auf12 gdm-session-worker[1542]: GLib-GObject-CRITICAL: g_value_get_boolean: assertion `G_VALUE_HOLDS_BOOLEAN (value)' failed Feb 4 12:21:52 auf12 gdm-session-worker[1548]: WARNING: Unable to load file '/etc/gdm/custom.conf': Aucun fichier ou dossier de ce type Feb 4 12:23:46 auf12 rpc.idmapd[864]: nss_getpwnam: name 'nobody' does not map into domain 'localdomain' }}} Je pense que je dois essayer de comprendre l'erreur dont parle ''automount'' au niveau de nsswitch. Des recherches m'ont amené ici https://bugs.launchpad.net/ubuntu/+source/autofs5/+bug/488696 mais sans succès; peut être que je dois encore bien lire :( . Pour `nss_getpwnam `, est-ce qu'il faudrait modifier le fichier `/etc/idmapd.conf` côté serveur et client ? Normalement non si les autres ont pu faire tout faire marcher sans le modifier... == Résolutions == === Problème 1 === Le mapping des dossiers/fichiers attribué à `nobody` et pourtant la mapping des groupes était correct. NFSv4 ne prend pas en compte les UID mais les '''noms'''. Or cette machine n'avait pas accès à la base de données des utilisateurs. J'avais créé les groupes localement sur le serveur. J'ai donc : * installé libnss-mysql-bg * ajuster les fichiers de configuration (`/etc/libnss-mysql{.cfg,-root.cfg} ` ) du paquet * modifier nsswitch.conf en indiquant à passwd,group,shadow de regarder dans : `files` et `mysql`.