Re: Patch to make libselinux shut up when SELinux is disabled.

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

 



On Fri, 2008-07-18 at 13:40 -0400, Daniel J Walsh wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Stephen Smalley wrote:
> > On Fri, 2008-07-18 at 13:16 -0400, Daniel J Walsh wrote:
> > SELinux complains about things like restorecon or rpm when conflicts
> > exist in file_context file even when SELinux is disabled.
> > 
> > It should just shut up....
> > 
> >> I think that's the wrong place to do it:
> >> - the fact that the application called libselinux at all except to test
> >> is_selinux_enabled() when SELinux is disabled is either a bug in the
> >> application or an indication that the application wants SELinux behavior
> >> regardless,
> >> - silencing all log messages coming from libselinux is too broad.
> > 
> >> And of course, file_contexts conflicts should be caught during policy
> >> build time aside from local customizations; if not, then we need to
> >> change the policy build process to do that even for modular policy
> >> builds.
> > 
> Well it could be argued that libraries should never write to the terminal...

selinux_set_callback() lets the application control that behavior.

> Try explaining this to the users we are telling selinux disabled does
> not effect their machines.  They just come away with the opinion that
> SELinux Sucks and is broken.  Besides we are even complaining when they
> are warnings and SELinux is disabled.

Which reflects a bug in the application - why is it calling matchpathcon
if is_selinux_enabled() <= 0?

As far as the warning goes, the log callback does get a type parameter
so it can distinguish warnings vs. errors.  But we don't want to hide
these kinds of duplications or conflicts - we just want them to be
caught earlier.

> The problem seems to be a broken genhomedircon, but we don't currently
> prevent users (rpm post install scripts)  from adding conflicting file
> context in file context.local
> plain text document attachment (diff)
> 
> The tools just complain about it after the fact.
> 
> # semanage fcontext -a -t httpd_sys_content_t /tmp

Ah, that's interesting.  So the setfiles -c execution by libsemanage
only validates the base file contexts.  I'm trying to remember why we
did that.  Seems like that could be changed easily enough.

> # matchpathcon /etc
> # matchpathcon /etc/
> /etc/selinux/targeted/contexts/files/file_contexts: Multiple different
> specifications for /tmp  (system_u:object_r:httpd_sys_content_t:s0 and
> system_u:object_r:tmp_t:s0).
> /etc/	system_u:object_r:etc_t:s0
> 
> Nice.

That's a real bug in the file_contexts file that shouldn't be hidden
from the user.

I do agree that a) the application shouldn't be calling matchpathcon if
is_selinux_enabled() <= 0, and b) we ought to catch these kinds of
errors at policy build time for the base policy, and c) we ought to
catch these kinds of errors at semodule/semanage invocation time for
local customizations.  That is what we should be fixing.  Not silencing
the messenger.

-- 
Stephen Smalley
National Security Agency


--
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