The backend nfs is knfsd on rhel8.
On Wed, 2022-06-22 at 10:18 -0700, Solomon Boulos wrote:
 I'm OOO this week, but I think PROXY_V4 doesn't support ACLs
correctly.
 (Similar to how it *seems* like it has krb5 support from the config, but then
 doesn't use it).
 
 Shane: what's your backend NFS server? (knfsd, ganesha with VFS, netapp, etc.)
 
 On Tue, Jun 21, 2022 at 17:03 Frank Filz <ffilzlnx(a)mindspring.com> wrote:
 > > -----Original Message-----
 > > From: Nehring, Shane R [LAS] [mailto:snehring@iastate.edu]
 > > Sent: Tuesday, June 21, 2022 3:07 PM
 > > To: ffilzlnx(a)mindspring.com; support(a)lists.nfs-ganesha.org
 > > Subject: Re: [NFS-Ganesha-Support] Re: Proxy-v4 access denied
 > > 
 > > What's the best way to debug the idmapper stuff? I changed the mode of the
 > > exported directory to 0775 which is allowing me to access the mount now.
 > > Which would expected if the uids are wrong.
 > 
 > Start with is idmapd running on all nodes? Do you have the same idmapd.conf
 > on all systems? Also, are your user ids the same on all systems? You can
 > look at GETATTR in the network trace and see how the IDs are going across.
 > You can add IDMAPPER=Full_Debug to your LOG { COMPONENTS {} } config.
 > 
 > > With this change I'm able to get more responses from the server, and
 > > looking at
 > > those in the network capture it certainly looks like the correct uids and
 > > gids are
 > > being sent from the upstream nfs server at least as far as owner uid and
 > > group
 > > are concerned.
 > > And once past this hurdle of accessing the mount root, permissions seem to
 > > be
 > > enforced according to the underlying file system acls.
 > 
 > The underlying filesystem will do some of the permission checking, and it's
 > permission checking may override Ganesha's.
 > 
 > > I wonder if I managed to compile this without acl support, as nfs4_getfacl
 > > fails
 > > with 'Operation to request attribute not supported' on the mount as
root.
 > 
 > I'll have to look at the PROXY_V4 code to see if it actually does ACLs. It
 > might not.
 > 
 > Frank
 > 
 > > Shane
 > > 
 > > On Tue, 2022-06-21 at 13:19 -0700, Frank Filz wrote:
 > > > I'm not sure what PROXY_V4 does with ACLs, though it seems like it
 > > > should support them. If so, it supports NFSv4 ACLs. The proxied server
 > > > would have to offer NFSv4 ACLs. If the proxied server is Linux, it will
 > > > translate
 > > POSIX ACLs to NFSv4 ACLs. If the proxied server is Ganesha, it would do
 > > the
 > > same for FSALs that support POSIX ACLs (not FSAL_VFS yet).
 > > > 
 > > > The call to fsal_check_access_no_acl() in the log indicates Ganesha is
 > > > doing mode bit permission checking. The log indicates the permissions
 > > > are 0770, so the other permissions are being used. That strongly
 > > > suggests
 > > idmapping is failing somewhere, check out the various things I pointed to
 > > in the
 > > previous e-mail.
 > > > 
 > > > Frank
 > > > 
 > > > > -----Original Message-----
 > > > > From: Nehring, Shane R [LAS] [mailto:snehring@iastate.edu]
 > > > > Sent: Tuesday, June 21, 2022 12:41 PM
 > > > > To: ffilzlnx(a)mindspring.com; support(a)lists.nfs-ganesha.org
 > > > > Subject: Re: [NFS-Ganesha-Support] Re: Proxy-v4 access denied
 > > > > 
 > > > > Thank you Frank, the additional acl debug logging might've given
me
 > > > > a direction to go:
 > > > > 
 > > > > [svc_7] nfs_access_op :NFS4 ACL :DEBUG :Requested
 > > > > ACCESS=READ,LOOKUP,MODIFY,EXTEND,DELETE,-
 > > > > [svc_7] nfs_access_op :NFS4 ACL :DEBUG :access_mask = mode(rwx)
 > > > > ACL(list_dir,add_file,execute,add_subdirectory,delete_child)
 > > > > [svc_7] fsal_check_access_no_acl :NFS4 ACL :F_DBG :file Mode=0770,
 > > > > file uid=0, file gid= 0, user uid=423245, user gid= 101,
 > > > > access_type=0X7000000
 > > > > [svc_7] fsal_check_access_no_acl :NFS4 ACL :F_DBG :Mask=0X0, Access
 > > > > Type=0X7000000 Allowed=0X0 Denied=0X7000000 DENIED [svc_7]
 > > > > nfs_access_op :NFS4 ACL :DEBUG :Supported
 > > > > ACCESS=READ,LOOKUP,MODIFY,EXTEND,DELETE,-
 > > > > [svc_7] nfs_access_op :NFS4 ACL :DEBUG :Granted ACCESS=-,-,-,-,-,-
 > > > > 
 > > > > Does ganesha interpret posix acls for the purpose of determining
 > > > > access? I've got these trees setup with perms delegated
primarily
 > > > > with posix acls on the underlying filesystem instead of traditional
 > > owner/group perms.
 > > > > 
 > > > > In the meantime I'll look at the captures and getting them
filtered
 > > > > and investigate id mapping.
 > > > > 
 > > > > Shane
 > > > > 
 > > > > On Tue, 2022-06-21 at 11:53 -0700, Frank Filz wrote:
 > > > > > You config looks like it should work, however, do you gave ID
 > > > > > Mapper configured identical on all three hosts involved
(client,
 > > > > > Ganesha server, proxied server)? Could you share you network
 > > > > > traces (both between
 > > > > client and Ganesha and between Ganesha and the proxied server)?
 > > > > Could you share the debug log? You could add NFS4_ACL to log the
 > > > > permission checking which might help.
 > > > > > 
 > > > > > On the idmapper stuff, you need to determine if the owner/group
 > > > > > attributes coming from the server are in the form
"user@domain" or
 > > > > > "1234". You may need to set NFS4 {
Allow_Numeric_Owners = true; }
 > > > > > in your config if the owner/group attributes are numeric. The
 > > > > > parameter Only_Numeric_Owners will cause Ganesha to issue owners
in
 > > the form "1234"
 > > > > instead of "user@domain" for client side GETATTR and proxy
side
 > > > > SETATTR (and OPEN/CREATE). There are kernel NFS parameters that
 > > > > control this also for client and I believe the server.
 > > > > > 
 > > > > > I'm going to bet that idmapping issues are the cause here. I
hope
 > > > > > the above gives you enough to go on to fix the issue if
that's the
 > > > > > case.
 > > > > > 
 > > > > > Frank
 > > > > > 
 > > > > > 
 > > > 
 > > > 
 > 
 > _______________________________________________
 > Support mailing list -- support(a)lists.nfs-ganesha.org
 > To unsubscribe send an email to support-leave(a)lists.nfs-ganesha.org