Re: refpolicy roles / RBAC separation RFC

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

 



On Wed, 2008-04-30 at 10:05 -0400, Stephen Smalley wrote:
> On Wed, 2008-04-30 at 09:48 -0400, Christopher J. PeBenito wrote:
> > On Tue, 2008-04-29 at 15:48 -0400, Stephen Smalley wrote:
> > > On Tue, 2008-04-29 at 15:34 -0400, Christopher J. PeBenito wrote:
> > > > On Tue, 2008-04-29 at 14:56 -0400, Stephen Smalley wrote:
> > > > > On Tue, 2008-04-29 at 11:54 -0400, Christopher J. PeBenito wrote:
> > > > > > Next we will be doing an experiment attempting to use the SELinux RBAC
> > > > > > functionality to separate users instead of SELinux TE.  What this means
> > > > > > is that the role field will start being used more substantially than it
> > > > > > currently is.  In a nutshell, this means that all user objects will have
> > > > > > the user's role rather than object_r.  Then the separate types will be
> > > > > > collapsed into one type where possible.  This will result in per-role
> > > > > > types (e.g., user_mozilla_t, staff_mozilla_t) collapsing too
> > > > > > (mozilla_t).
> > [...]
> > > > > > Unfortunately this necessitates some kernel and userspace changes:
> > > > [...]
> > > > > > Login programs and newrole will have to be changed to set the role on
> > > > > > the terminal.
> > > > > 
> > > > > Not if we get the security_compute_sid logic right and introduce
> > > > > role_change rules analogous to the type_change rules.  Then the existing
> > > > > security_compute_relabel() calls by login programs and newrole will
> > > > > return the desired context.
> > > > 
> > > > I just assumed that userspace changes would be preferred since there
> > > > doesn't necessarily have to be any logic in figuring out what role to
> > > > set on the object, the app would just set whatever role was logging in
> > > > (or the role being changed to, in the case of newrole).
> > > 
> > > So under that approach, would userspace cease using
> > > security_compute_relabel() altogether?  As its only real use today is to
> > > obtain a derived type, and you are eliminating those.
> > > 
> > > I suppose that would be simpler.
> > 
> > I didn't think of removing security_compute_relabel().  I figured it
> > would stick around for compatibility.
> 
> I think we already have to update the userland and policy in lock-step
> if we are going to directly change the login programs and newrole to
> directly set roles on the tty, as that will otherwise break.  Or do you
> intend to provide some way for userspace to detect that the new role
> support is present in policy (and in the kernel, for that matter)?
> 
> That btw might be an advantage to hiding the role determination behind
> security_compute_relabel(), such that userspace doesn't have to change
> at all and can seamlessly handle the transition from the old approach to
> the new one.

A good point.  We could probably add in the user_transition support in
at the same time as role_change and role_transition w/object classes.

> Another issue btw is that when we start using roles on objects, then the
> role-type relation has to be expanded to encompass all of the types that
> might be assigned to files created by processes in that role rather than
> only dealing with domains.

Right.  My current thinking is that it would be types that were
previously per-role, since outside of home directories and /tmp
directories, everything else would be object_r.

-- 
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux