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
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.
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é.
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