Re: POSIX ACL support for NFSV4 (using sideband protocol)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"J. Bruce Fields" <bfields@xxxxxxxxxxxx> wrote on 09/02/2009 11:42:43 AM:
> On Wed, Sep 02, 2009 at 05:54:20PM +0530, Aneesh Kumar K.V wrote:
> > This patch series implement POSIX ACL support for NFSV4 clients
> > using sideband protocol.
>
> What motivates this?  Who exactly wants this and why?   What would be
> the advantages compared to other options, such as:

The most obvious reason to me is that security information
can be lost as the ACL which was generated by Linux utilities and
client acl tools (which get/set posix acls) are converted by the Linux
nfs v4 client
to NFSv4 ACLs on the wire and then the server converts them back to posix
to save them in ext3 (or ext4 or xfs etc.).  This double conversion can result
in a different ACL returned on subsequent queries (e.g. getfacl) than the
one that the user just set.  At worst this is a security exposure and at
best it is confusing to the user (and we don't control the tools).
And Linux client to Linux server is worse than Linux client to some other
servers because of the extra conversion (which is counter intuitive)

>    - native v4 support in filesystems, or
Doesn't help now.  In the future would be nice to have something
similar to native cifs/ntfs/nfsv4 ACLs in btrfs - but that wouldn't help
for years - and won't help all of the other Linux
file systems.   CIFS and NTFS (and SMB2 in the future) could be
modified to return something like an NFSv4 ACL, but local file systems
aren't likely to change.  In the meantime we don't even have
a generalized system interface to set/get nfsv4/cifs/ntfs acls so
Linux ACL tools and libraries and server software
like Samba could be updated to handle something other than
posix ACLs.   I expect that jra and others of us on the Samba team
would love to see a few Linux file systems support CIFS/NFSv4/NTFS
ACLs but as he has reminded people - posix acls are Linux's native
ACL model.

>    - improved client-side acl tools that provided a user interface
>      for v4 acls closer to that for v3 acls, or
Problem is that ACLs are a "system feature" and the OS tools,
utilities and desktop GUI tools for Linux use POSIX ACLs since
Linux's "native acl interface" is the posix one.   It would make
sense to add a way to query the "preferred acl interface"
for a file system (and NFSv4 client could query the server
perhaps via a named attribute to determine the ACL type
preferred by the server fs).  It is important to use the
native ACL model of the server operating system
so that information is not lost unnecessarily in the conversion.

>    - a v4.x extension to add support to the main protocol?

Sounds fine to me to add an extension to the main protocol
but I doubt that it would be necessary - no extension was
formally added when v3 was extended for posix acls.
By analogy with cifs - we defined a new request and a new capability
bit for posix acl support.   CIFS ACL support is expected
("should" implement) but posix acl support is optional.  The
Linux client uses posix acls if the server claims support for it
and it has not been disabled on the client by mount option.

> > The ACL support can be disabled/enabled
> > using -o noacl/-o acl mount option. The feature enables to
> > view and  modify POSIX acls from NFSv4 client.


--
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux