From: Jeremy Allison <jra@samba.org>
To: Frank Filz <ffilzlnx@mindspring.com>
Cc: 'Jeremy Allison' <jra@samba.org>,
"'J. Bruce Fields'" <bfields@fieldses.org>,
'Andreas Gruenbacher' <agruenba@redhat.com>,
'Jan Kara' <jack@suse.cz>,
linux-fsdevel@vger.kernel.org, lsf-pc@lists.linux-foundation.org
Subject: Re: [Lsf-pc] [LSF/MM ATTEND] Richacls
Date: Tue, 13 Jan 2015 12:26:42 -0800 [thread overview]
Message-ID: <20150113202642.GC29564@samba2> (raw)
In-Reply-To: <017d01d02f6a$a2e9e220$e8bda660$@mindspring.com>
On Tue, Jan 13, 2015 at 11:53:42AM -0800, Frank Filz wrote:
> > On Tue, Jan 13, 2015 at 12:40:29PM -0500, J. Bruce Fields wrote:
> > > On Tue, Jan 13, 2015 at 06:23:26PM +0100, Andreas Gruenbacher wrote:
> > > > On 01/13/2015 05:48 PM, Jeremy Allison wrote:
> > > > >My understanding of Christoph's objection (although I'm sure he can
> > > > >chime in himself :-) was that he wanted to see POSIX ACLs reworked
> > > > >as a mapping on top of RichACLs, so that ultimately RichACLs would
> > > > >be the only on-disk format of the EA.
> > > > >
> > > > >I think that is doable, as I think any POSIX ACL can be represented
> > > > >as an underlying RichACL, just not the reverse.
> > > >
> > > > On of the differences is that permissions in POSIX ACLs do
> > > > accumulate, while in NFSv4 and CIFS ACLs, and therefore also
> > > > richacls, they do not. So the two models are really not
> > > > interchangeable, however annoying that may be.
>
> I think Andreas got do and do not reversed (though looks like everyone read
> it the right way...)
>
> > > > For example, with the following POSIX ACL, a non-root process in
> > > > group 5001 and 5002 would not be allowed to open f with O_RDWR, only
> > > > with O_RDONLY *or* O_WRONLY.
> > > >
> > > > # file: f
> > > > # owner: root
> > > > # group: root
> > > > user::rw-
> > > > group::rw-
> > > > group:5001:r--
> > > > group:5002:-w-
> > > > mask::rw-
> > > > other::---
> > > >
> > > > In all the other ACL models, the process would be allowed to open f
> > > > with O_RDWR.
>
> Hasn't this been resolved in in knfsd by use of DENY ACEs in converting the
> POSIX ACL to NFS v4?
No, it can't work.
Consider a non-root process in group 5001 and 5002.
The obvious way to map the above POSIX ACL to NFSv4
is:
1) group:5001:DENY:WRITE
2) group:5001:ALLOW:READ
3) group:5002:DENY:READ
4) group:5001:ALLOW:WRITE
But NFSv4/CIFS permissions are cummulative. So
requesting O_WRONLY will always fail as it runs
into rule number 1.
So let's reorder it:
1) group:5002:DENY:READ
2) group:5001:ALLOW:WRITE
3) group:5001:DENY:WRITE
4) group:5001:ALLOW:READ
Now O_RDONLY fails due to rule #1 :-(.
If we put both DENY rules first, both
O_RDONLY and O_WRONLY fail. If we put both
ALLOW rules first, then O_RDWR is allowed,
which shouldn't be.
There's just no way to get to the "or" behavior
from here.
next prev parent reply other threads:[~2015-01-13 20:26 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1626890778.1513173.1421087867777.JavaMail.zimbra@redhat.com>
2015-01-12 21:06 ` [LSF/MM ATTEND] Richacls Andreas Gruenbacher
2015-01-12 21:54 ` Jeremy Allison
2015-01-12 22:30 ` J. Bruce Fields
2015-01-13 10:14 ` [Lsf-pc] " Jan Kara
2015-01-13 15:07 ` Andreas Gruenbacher
2015-01-13 16:48 ` Jeremy Allison
2015-01-13 17:23 ` Andreas Gruenbacher
2015-01-13 17:29 ` Jeremy Allison
2015-01-13 17:40 ` J. Bruce Fields
2015-01-13 18:04 ` Jeremy Allison
2015-01-13 19:53 ` Frank Filz
2015-01-13 20:24 ` 'J. Bruce Fields'
2015-01-13 20:26 ` Jeremy Allison [this message]
2015-01-13 20:30 ` Jeremy Allison
2015-01-13 20:35 ` Frank Filz
2015-01-14 7:57 ` Andreas Gruenbacher
2015-01-13 21:04 ` Jan Kara
2015-01-13 21:16 ` J. Bruce Fields
2015-01-13 21:20 ` Jeremy Allison
2015-01-13 21:27 ` Frank Filz
2015-01-13 21:31 ` Jan Kara
2015-01-14 8:53 ` Andreas Gruenbacher
2015-01-14 12:01 ` Jeff Layton
2015-01-14 16:11 ` J. Bruce Fields
2015-01-14 17:21 ` Frank Filz
2015-01-23 5:31 ` Steve French
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150113202642.GC29564@samba2 \
--to=jra@samba.org \
--cc=agruenba@redhat.com \
--cc=bfields@fieldses.org \
--cc=ffilzlnx@mindspring.com \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lsf-pc@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).