I'm trying to use ZFS NFS export on my small home network. So far I've managed to export and to mount, but the mounted directory is mapped to user 'nobody' and it is readonly. I'd like to be able to write to the mount.
The server is running Solaris 11.3 and I exported my home directory using
zfs set share.nfs=on pool/export/home/nfs
On this system I have a uid of 1001 and a gid of 10.
I've tried mounting on Linux and macOS. On Linux my uid/gid are both 1000 and on macOS they are 501/20. Mounting from FreeBSD works read/write as the uid is the same.
I'm assuming that the issue is due to the uids (and gids) being different. A couple of things that I have tried
- client side, mount as NVSv3 using -o vers=3
- server side, export with anon=1001
Neither had any effect.
I see two possible solutions:
- Harmonize the uid/gids. I don't mind doing that on the Linux/FreeBSD systems as I don't have that much stuff on them. I'm a bit more reluctant to attempt that on my MacBook.
- Find some way to map
EDIT: Here is the info requested
# share
rpool_export_home_paulf /export/home/paulf nfs sec=sys,rw
and
# sharectl get nfs
servers=1024
lockd_listen_backlog=32
lockd_servers=1024
lockd_retransmit_timeout=5
grace_period=90
server_versmin=2
server_versmax=4
client_versmin=2
client_versmax=4
server_delegation=on
nfsmapid_domain=
max_connections=-1
protocol=ALL
listen_backlog=32
device=
showmount_info=full
server_authz_cache_refresh=600
netgroup_refresh=600
resvport=false
share
andsharectl get nfs
? Also check your NFSv4 default domain on the Solaris server: docs.oracle.com/cd/E23824_01/html/821-1454/… You may find it easier to just force NFSv3 as the min/max NFS version shared by your server. I think that's also done usingsharectl
on Solaris 11.3. NFSv2 doesn't support large files, and the improvements in NFSv4 probably aren't worth the additional admin overhead for a small home network. Mixed OS NFSv4 networks can be a real pain. IME Solaris sticks really, really closely to the NFS standards.lan
and is using static IP. My Mac using DHCP and haslocal
as its domain.cat /var/run/nfs4_domain