У меня есть сервер с NFSv4. Я монтирую содержимое домашней папки удаленного пользователя на локальный хост. Может читать и записывать содержимое, но когда я проверяю права собственности на файлы на смонтированном томе с локального хоста, все они принадлежат соответствующему удаленному пользователю и группе (512). Есть ли способ сделать так, чтобы они принадлежали локальному пользователю и группе (1000) на локальном хосте?
/ etc / exports на удаленный хост (IP 192.168.1.110)
/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)
/ etc / fstab на местный хост (IP 192.168.1.142)
192.168.1.110:/home/user512 /home/localuser/projects/project512 nfs rw,hard,intr,rsize=32768,wsize=32768 0 0
Это то, что должно делать idmapping. Прежде всего, включение находится на клиенте и сервере:
# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping
очистить кеш idmap и перезапустить демон idmap:
# nfsidmap -c
# service rpcidmapd restart
Теперь сервер и клиент будут отправлять вместо числовых идентификаторов строковых участников, например bob@YOURDOMAIN.COM. Тебе нужно иметь боб учетная запись на обоих хостах - клиентском и сервере. Тем не менее числовые идентификаторы могут быть разными.
У вас есть все детали. На странице руководства exportfs all_squash
отображает все uid и gid на анонимные версии. То, что вы написали, заставило эти значения быть 512. Если вы измените на 1000, сервер nfs на удаленном хосте сделает все 1000, и доступ должен быть предоставлен.
на вашем nfs-клиенте отредактируйте /etc/idmapd.conf и измените
[Mapping]
Nobody-User = myappuser
Nobody-Group = myappuser
после этого перезапустите службу nfs