web-dev-qa-db-fra.com

Mappage de l'UID et du GID de l'utilisateur local sur le partage NFS monté

J'ai un serveur avec NFSv4. Je monte le contenu du dossier personnel de l'utilisateur distant sur l'hôte local. Capable de lire et d'écrire du contenu, mais lorsque je vérifie la propriété des fichiers sur le volume monté à partir de l'hôte local, ils appartiennent tous à l'utilisateur et au groupe distant correspondant (512). Existe-t-il un moyen de faire en sorte qu'ils appartiennent à l'utilisateur local et au groupe (1000) sur l'hôte local?

/ etc/exports on remote Host (IP is 192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)

/ etc/fstab on local Host (l'IP est 192.168.1.142)

192.168.1.110:/home/user512    /home/localuser/projects/project512   nfs    rw,hard,intr,rsize=32768,wsize=32768    0       0
36
Alexander

C'est ce que l'idmapping est censé faire. Tout d'abord, enable est sur le client et le serveur:

# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping

nettoyer le cache idmap et redémarrer le démon idmap:

# nfsidmap -c
# service rpcidmapd restart

Désormais sur le serveur et le client enverra à la place des identifiants numériques des chaînes de caractères comme [email protected] . Vous devez avoir un compte bob sur les deux hôtes - client et serveur. Néanmoins, les ID numériques peuvent être différents.

35
kofemann

Vous avez toutes les pièces là-bas. Dans la page de manuel exportfs, all_squash mappe tous les uids et gids aux versions anonymes. Ce que vous avez écrit a forcé ces valeurs à 512. Si vous passiez à 1000, le serveur nfs sur l'hôte distant ferait tout 1000 et l'accès devrait être accordé.

5
becomingwisest

sur votre client nfs, éditez /etc/idmapd.conf et changez

[Mapping]

Nobody-User = myappuser
Nobody-Group = myappuser

après cela, redémarrez le service nfs

3
c4f4t0r