Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/04/2007, à 12:58

doo_mag

partage nfs , exports option all_squash , problème [résolu]

bonjour,
j'épluche les pages de man, le forum et la doc depuis deux jours sans succes.

je partage deux dossiers sur un poste en ubuntu-edgy (le serveur nfs)
je veux acceder ces dossiers depuis un poste ubuntu-dapper (le client nfs)

or, je ne suis autorisé à les accéder qu'en tant que root ce qui m'ennuie beaucoup.

man exports me dit que l'option all_squash dans le fichier /etc/exports doit faire en sorte que toutes les requètes vers le serveur nfs soient considérées comme émanant d'un uid correspondant à l'anonuid.
j'ai spécifié dans les options anonuid=1000 et anongid=1000.
les dossiers que je veux partager appartiennent bien au user et au groupe dont l'uid/gid=1000.
les permissions sur ces dossiers sont en 770.

je donne les retours de quelques commandes:

~$ ps aux | grep [p]ortmap
daemon    3454  0.0  0.1   1708   484 ?        Ss   Apr03   0:00 /sbin/portmap

~$ sudo netstat -alpen | grep portmap
Password:
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     0          8331       3454/portmap        
udp        0      0 0.0.0.0:111             0.0.0.0:*                          0          8330       3454/portmap

~$ sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

~$ rpcinfo -p
   program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp   1024  status
    100024    1   tcp   3491  status
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    1   udp   1039  nlockmgr
    100021    3   udp   1039  nlockmgr
    100021    4   udp   1039  nlockmgr
    100021    1   tcp   4419  nlockmgr
    100021    3   tcp   4419  nlockmgr
    100021    4   tcp   4419  nlockmgr
    100005    1   udp    796  mountd
    100005    1   tcp    799  mountd
    100005    2   udp    796  mountd
    100005    2   tcp    799  mountd
    100005    3   udp    796  mountd
    100005    3   tcp    799  mountd

~$ sudo /etc/init.d/nfs-kernel-server start
 * Exporting directories for NFS kernel daemon... exportfs: /etc/exports [2]: No 'sync' or 'async' option specified for export "192.168.x.x:/mon/dossier/partagé".
  Assuming default behaviour ('sync').
  NOTE: this default has changed from previous versions
                                                                                                                                                      [ ok ]
 * Starting NFS kernel daemon

le seul message d'erreur que je trouve dans /var/log/message est: (lorsque je relance le service nfs)

Apr  4 12:28:18 ubu2bis kernel: [64472.146851] RPC: failed to contact portmap (errno -5).
Apr  4 12:28:22 ubu2bis kernel: [64476.166508] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Apr  4 12:28:22 ubu2bis kernel: [64476.167067] NFSD: starting 90-second grace period

je suppose qu'il a une importance mais je ne sais pas comment l'interpréter..

je pourrais contourner mon problème en créant d'autres utilisateurs sur le serveur mais j'aimerais vraiment comprendre ce problème.

quelqu'un pourrait-il m'y aider svp ?

Dernière modification par doo_mag (Le 09/04/2007, à 14:55)

Hors ligne

#2 Le 08/04/2007, à 17:34

doo_mag

Re : partage nfs , exports option all_squash , problème [résolu]

mmhhh,
j'ai trouvé ça et c'est très interessant... :

http://www.faqs.org/docs/Linux-HOWTO/NFS-HOWTO.html

Hors ligne

#3 Le 09/04/2007, à 14:52

doo_mag

Re : partage nfs , exports option all_squash , problème [résolu]

ça y est !!
je l'ai eu mon partage en user !!

le problème était du au fait qu'avec nfs, les users+uid du client doivent correspondre à ceux du serveur..
ce qui implique une bonne gestion des utilisateurs et groupes en amont sur tout le réseau.

l'option all_squash dans /etc/exports permet de contourner cette contrainte (aux dépends de la sécurité)
avec all_squash, toutes les requètes du client sont considérées par le serveur comme émanant de l'utilisateur nobody (utilisateur anonyme) dont l'uid est 65534 pa défaut sur mes deux ubuntu (dapper et edgy)
donc:

-dans /etc/exports, sur le serveur, il faut pour chaque dossier partagé une ligne comme suit:

/dossier/à/partager ip_client1(ro,all_squash,anonuid=65534,anongid=65534) ip_client2(options_du_client2) ip_client3...

-les dossiers à partager doivent appartenir au groupe nogroup:

sudo chown -R quiquecesoit:nogroup /dossier/à/partager   (attention, avec -R, les modifications s'appliquent aussi à tout le contenu)

-les permissions sur les dossiers à partager doivent autoriser l'acces au groupe nogroup:

sudo chmod -R 770 /dossier/à/partager   (attention, 770 donne l'acces en lecture/ecriture/execution. pour la lecture seule 740 suffit)

-on relance le serveur nfs avec ces nouveaux paramètres:

sudo /etc/init.d/nfs-kernel-server stop
sudo /etc/init.d/nfs-kernel-server start


-côté client, /etc/fstab doit (pour un montage "semi-automatique") contenir pour chaque partage une ligne comme:

ip_du_serveur:/dossier/partagé/sur/le/serveur    /point/de/montage/du/partage    nfs    user,noauto     0      0

ps:
le plus simple est de monter le partage dans /mnt/point_de_montage.
les permissions sur /mnt doivent être en 755 (elles le sont par défaut).

Hors ligne