Server-side NFSv4 ACL support
Trond Myklebust
trond.myklebust at fys.uio.no
Wed Aug 9 14:19:25 EDT 2006
On Wed, 2006-08-09 at 17:25 +0100, Christoph Hellwig wrote:
> > All versions of NFS (server and client) support POSIX ACLs. But, only
> > NFSv4 client supports NFSv4 ACLs.
>
> That's wrong. None of NFSv2/3/4 support POSIX ACLs out of the box. There
> is a side-band protocol defined by Sun to support them on NFSv2/3 that could
> easily be adopted to NFSv4 although I don't know of any implementation that
> supports them on NVFSv4 currently. There is another sideband procotol
> defined by SGI to support arbitrary extended attributes, which is only
> implemented for IRIX as far as I know, although SGI released the reference
> code for it under the GPL. I wish we had support for it on Linux because
> it would make life for SELinux and various desktop uses of xattrs a lot
> easier.
That won't help us deal with servers that implement the full NFSv4 acl
set, though. Neither will it help us deal with Windoze servers...
> > III. Design Considerations
> >
> > 4. Map POSIX ACLs to NFSv4 ACLs
>
> This is the only viable solution. Having more than one different type ACL
> creates lots of code and administrative horrors.
Mapping creates worse horrors, though. There is a workshop going on in
order to work out what we need in the protocol in order to get posix
acls right.
We will _not_ be implementing another sideband protocol to NFSv4. If
posix acls cannot be integrated into the protocol somehow, then support
for them will be dropped.
> > Pros: Minimal development time to verify the existing
> > implementation
> > and improve/correct where ever possible to reduce the
> > imperfectness.
> > Cons: Can not use full range of NFSv4 ACLs. Weak access controls.
>
> There is no "Weak access controls". Posix draft ACLs are very well defined,
> and used for years in practice without showing any theoretical or practical
> weakness.
...but they are currently not supported by the NFSv4 protocol except
with very hairy mappings that weaken the ACL when you do a
read-modify-write.
One of the main issues we have is dealing with the mask (which has no
NFSv4 equivalent). The sort of hair-brained mappings that you have to
make in order to emulate its effects does make the current
posix-acls-over-NFSv4 weaker than the posix draft specification.
Cheers,
Trond
More information about the NFSv4
mailing list