Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

configuration NFS avec map_static

5 réponses
Avatar
pehache
Bonjour,

sur mon un NAS Qnap TS-101, j'ai installé unfs3 (non présent pas défaut)
pour pouvoir faire des exports NFS. J'ai un besoin assez simple, qui est
que les utilisateurs d'un Mac aient accès à un dossier partagé, en étant
tous mappés sur un utilisateur unique du NAS. J'ai donc mis la ligne
suivante dans /etc/exports (504:104 étant l'utilisateur en question) :

/share/Public 192.168.1.20(rw,anonuid=504,anongid=104,all_squash)

Ca marche mais c'est un peu trop permissif, dans le sens où je voudrais
quand même pouvoir sélectionner les utilisateurs qui ont cet accès. Pour
ça j'ai essayé l'option map_static :

/share/Public 192.168.1.20(rw,map_static=/opt/etc/nfs.map.toto)

avec /opt/etc/nfs.map.toto contenant les lignes (les uid 501 et 503
étant celles d'utilisateurs sur le Mac, et gid):
#--------------------------
gid 20 104
uid 501 504
uid 503 504
#--------------------------

Mais ça ne marche pas, le mapping n'est visiblement pas pris en compte.
L'uid 501 du Mac est considérée par le serveur comme l'uid 501 sur le
NAS et non pas comme l'uid 504.

Je connais assez mal NFS, il y a quelque chose que j'ai raté dans la
config ?

--
pehache

5 réponses

Avatar
Emmanuel Florac
Le Sat, 29 Oct 2011 15:43:06 +0200, pehache a écrit:


Mais ça ne marche pas, le mapping n'est visiblement pas pris en compte.
L'uid 501 du Mac est considérée par le serveur comme l'uid 501 sur le
NAS et non pas comme l'uid 504.

Je connais assez mal NFS, il y a quelque chose que j'ai raté dans la
config ?



Oui, dans NFS c'est li'UID du compte client qui détermine l'utilisateur.
L'utilisateur par défaut du Mac a l'UID 501, quel que soit son nom. Pour
pouvoir distinguer les utilisateurs des différents mac, la seule solution
est de changer l'UID de chaque utilisateur sur chaque Mac.

--
All thinking men are atheists.
Ernest Hemingway
Avatar
pehache
Le 29/10/11 17:30, Emmanuel Florac a écrit :
Le Sat, 29 Oct 2011 15:43:06 +0200, pehache a écrit:


Mais ça ne marche pas, le mapping n'est visiblement pas pris en compte.
L'uid 501 du Mac est considérée par le serveur comme l'uid 501 sur le
NAS et non pas comme l'uid 504.

Je connais assez mal NFS, il y a quelque chose que j'ai raté dans la
config ?



Oui, dans NFS c'est li'UID du compte client qui détermine l'utilisateur.
L'utilisateur par défaut du Mac a l'UID 501, quel que soit son nom. Pour
pouvoir distinguer les utilisateurs des différents mac, la seule solution
est de changer l'UID de chaque utilisateur sur chaque Mac.




Mais à quoi sert cette option "map_static", alors ? Il m'avait semblé
comprendre que c'était justement pour convertir les *id entre client et
serveur.

--
pehache
Avatar
Emmanuel Florac
Le Sat, 29 Oct 2011 18:15:36 +0200, pehache a écrit:


Mais à quoi sert cette option "map_static", alors ? Il m'avait semblé
comprendre que c'était justement pour convertir les *id entre client et
serveur.



À ma connaissance ça ne fonctionne pas avec le (très ancien et très peu
maintenu) nfs-user-server, uniquement avec le kernel-server. De toute
façon ça ne résoudra pas vraiment ton problème : si chaque compte
utilisateur Mac a l'UID par défaut 501 (probable), tous seront mappés sur
le même compte au niveau du serveur. Le seul moyen simple de les séparer
est de passer par CIFS, avec un compte samba séparé par client. Sinon on
peut avoir une authentification avec NFS4 seulement, et uniquement en
utilisant un serveur kerberos.

--
A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders, give
orders, cooperate, act alone, solve equations, analyze a new problem,
pitch manure, program a computer, cook a tasty meal, fight efficiently,
die gallantly. Specialization is for insects.
Robert A. Heinlein.
Avatar
pehache
Le 29/10/11 21:17, Emmanuel Florac a écrit :
Le Sat, 29 Oct 2011 18:15:36 +0200, pehache a écrit:


Mais à quoi sert cette option "map_static", alors ? Il m'avait semblé
comprendre que c'était justement pour convertir les *id entre client et
serveur.



À ma connaissance ça ne fonctionne pas avec le (très ancien et très peu
maintenu) nfs-user-server, uniquement avec le kernel-server. De toute
façon ça ne résoudra pas vraiment ton problème : si chaque compte
utilisateur Mac a l'UID par défaut 501 (probable), tous seront mappés sur
le même compte au niveau du serveur.



C'est pas ça que je veux faire. Il y a un Mac unique, et plusieurs
utilisateurs dessus (avec des uid 501, 502, 503...). Je voudrais mapper
certaines de ces uids côté client sur un uid unique côté serveur.

--
pehache
Avatar
Emmanuel Florac
Le Sat, 29 Oct 2011 21:24:53 +0200, pehache a écrit:


C'est pas ça que je veux faire. Il y a un Mac unique, et plusieurs
utilisateurs dessus (avec des uid 501, 502, 503...). Je voudrais mapper
certaines de ces uids côté client sur un uid unique côté serveur.




Bizarre... Je pense qu'il te faut le kernel-server, et que le "unfs" que
tu as installé est le nfs-user-server, très limité.

--
Si non confectus non reficiat.