Dino
2008-Jul-15 06:36 UTC
[zfs-code] Cannot share RW, "Permission Denied" with sharenfs in ZFS
Hi everyone, I have just installed Solaris and have added a 3x500GB raidz drive array. I am able to use this pool (''tank'') successfully locally, but when I try to share it remotely, I can only read, I cannot execute or write. I didn''t do anything other than the default ''zfs set sharenfs=on tank''... how can I get it so that any allowed user can access the pool read/write through nfs? Here is some relevant information: root at mosasaur:/# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT tank 1.36T 46.1G 1.31T 3% ONLINE - root at mosasaur:/# zpool status pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c3t1d0 ONLINE 0 0 0 c3t2d0 ONLINE 0 0 0 errors: No known data errors root at mosasaur:/# zfs get all tank NAME PROPERTY VALUE SOURCE tank type filesystem - tank creation Sat Jul 12 22:47 2008 - tank used 30.7G - tank available 882G - tank referenced 30.7G - tank compressratio 1.00x - tank mounted yes - tank quota none default tank reservation none default tank recordsize 128K default tank mountpoint /tank local tank sharenfs on local tank checksum on default tank compression off default tank atime on default tank devices on default tank exec on default tank setuid off local tank readonly off default tank zoned off default tank snapdir hidden default tank aclmode groupmask default tank aclinherit secure default tank canmount on default tank shareiscsi off default tank xattr on default /etc/dfs/dfstab is empty /etc/dfs/sharetab: /tank - nfs rw Now, when I try to mount this share from multiple boxes, I get ''Permission denied'' when I try to create/modify any file. Mounting from a Linux box: /etc/fstab mosasaur:/tank /tank nfs4 rw,user 0 0 mount /tank ls -al tank == drwxr-xr-x 7 4294967294 4294967294 8 2008-07-13 17:58 tank mount shows: mosasaur:/tank on /tank type nfs4(rw,user=mac,addr=192.168.0.4,clientaddr=192.168.0.17) # touch /tank/FILE touch: cannot touch `file'': Permission denied Mounting from a NetBSD box /etc/fstab: mosasaur:/tank /tank nfs rw 0 0 root# mount /tank root# ls -al | grep tank drwxr-xr-x 7 100 10 8 Jul 13 16:58 tank root# mount | grep tank mosasaur:/tank on /tank type nfs root# touch /tank/FILE touch: /tank/FILE: Permission denied I dont get it at all, it is a completely stock configuration... Does anytone have any idea why this isnt working and how I could fix it? Thanks, Dino -- This messages posted from opensolaris.org
Mark Shellenbaum
2008-Jul-15 14:52 UTC
[zfs-code] Cannot share RW, "Permission Denied" with sharenfs in ZFS
Dino wrote:> Hi everyone, > > I have just installed Solaris and have added a 3x500GB raidz drive array. I am able to use this pool (''tank'') successfully locally, but when I try to share it remotely, I can only read, I cannot execute or write. I didn''t do anything other than the default ''zfs set sharenfs=on tank''... how can I get it so that any allowed user can access the pool read/write through nfs? > > Here is some relevant information: > root at mosasaur:/# zpool list > NAME SIZE USED AVAIL CAP HEALTH ALTROOT > tank 1.36T 46.1G 1.31T 3% ONLINE - > > root at mosasaur:/# zpool status > pool: tank > state: ONLINE > scrub: none requested > config: > > NAME STATE READ WRITE CKSUM > tank ONLINE 0 0 0 > raidz1 ONLINE 0 0 0 > c3t0d0 ONLINE 0 0 0 > c3t1d0 ONLINE 0 0 0 > c3t2d0 ONLINE 0 0 0 > > errors: No known data errors > > root at mosasaur:/# zfs get all tank > NAME PROPERTY VALUE SOURCE > tank type filesystem - > tank creation Sat Jul 12 22:47 2008 - > tank used 30.7G - > tank available 882G - > tank referenced 30.7G - > tank compressratio 1.00x - > tank mounted yes - > tank quota none default > tank reservation none default > tank recordsize 128K default > tank mountpoint /tank local > tank sharenfs on local > tank checksum on default > tank compression off default > tank atime on default > tank devices on default > tank exec on default > tank setuid off local > tank readonly off default > tank zoned off default > tank snapdir hidden default > tank aclmode groupmask default > tank aclinherit secure default > tank canmount on default > tank shareiscsi off default > tank xattr on default > > /etc/dfs/dfstab is empty > > /etc/dfs/sharetab: > /tank - nfs rw > > > Now, when I try to mount this share from multiple boxes, I get ''Permission denied'' when I try to create/modify any file. > > Mounting from a Linux box: > /etc/fstab > mosasaur:/tank /tank nfs4 rw,user 0 0 > mount /tank > ls -al tank == drwxr-xr-x 7 4294967294 4294967294 8 2008-07-13 17:58 tank > mount shows: > mosasaur:/tank on /tank type nfs4(rw,user=mac,addr=192.168.0.4,clientaddr=192.168.0.17) > > # touch /tank/FILE > touch: cannot touch `file'': Permission denied >This is probably caused by user "root" being mapped to user "nobody" by NFS. Also, the permissions on /tank only allow user "429496794" to write to the /tank mountpoint. What is the ownership/group of /tank on the Solaris host? The user 4294967294 looks suspicious. Did you intend for root users to create files from your nfs clients? If so, then you will need to share it to allow that sort of behavior.> > Mounting from a NetBSD box > /etc/fstab: > mosasaur:/tank /tank nfs rw 0 0 > root# mount /tank > root# ls -al | grep tank > drwxr-xr-x 7 100 10 8 Jul 13 16:58 tank > root# mount | grep tank > mosasaur:/tank on /tank type nfs > root# touch /tank/FILE > touch: /tank/FILE: Permission denied > > > I dont get it at all, it is a completely stock configuration... Does anytone have any idea why this isnt working and how I could fix it? > > > Thanks, > Dino > -- > This messages posted from opensolaris.org > _______________________________________________ > zfs-code mailing list > zfs-code at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-code