Re: semanage / file_contexts.local

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

 



Stephen Smalley wrote:
On Wed, 2006-03-29 at 13:39 +0100, Paul Howarth wrote:
On my FC4 system, I created a file /etc/selinux/targeted/contexts/files/file_contexts.local that contained the following lines:

/srv/backup(/.*)? system_u:object_r:ftpd_anon_rw_t
/srv/softlib(/.*)? system_u:object_r:ftpd_anon_rw_t

This was to ensure that that files created in these areas got the right context, and that it would survive a relabel. Having since learned about customizable types, I probably didn't need to do that in this case, but the principle applies anyway.

My understanding is that in FC5, the equivalent thing to do for this would be to use semanage to add additional fcontext objects. Is that right (I think the semanage manpage could do with an example or two btw, hint, hint)?

Funny you should ask. See http://marc.theaimsgroup.com/?l=selinux&m=114358806507499&w=2

Ah, good :-)

My first question is: if I use semanage, is there a convenient way to check, on a running system, which objects are there as part of the base policy and which have been added later, like a file context equivalent of "semodule -l"?

Hmm...doesn't look like semanage presently has an option that invokes
just the xxx_list_local() interface of libsemanage versus the xxx_list()
interface.  Seems like a good idea.

My second question is: I have lots of log messages like this:

Mar 26 04:24:39 badby kernel: inode_doinit_with_dentry: context_to_sid(system_u:object_r:ftpd_anon_rw_t) returned 22 for dev=sdb6 ino=96769

Suggests that the type is no longer defined, which seems a bit
surprising.  Usually we add a type alias to keep it valid across
updates.

/srv/backup(/.*)? system_u:object_r:public_content_rw_t:s0
/srv/softlib(/.*)? system_u:object_r:public_content_rw_t:s0

or even deleting it entirely and doing the equivalent with semanage.
When I do one of these things, when will it take effect? Will I need to reboot, or rebuild policy somehow?

file_contexts.local will still be read by libselinux (matchpathcon), so
it can still be used, but using semanage is likely the better way
forward.  Once you've run the semanage command, it should rebuild and
push out an updated file_contexts file with your additions included, and
then any subsequent runs of restorecon/setfiles/... will make use of
those definitions.

Right, I moved the existing /etc/selinux/targeted/contexts/files/file_contexts.local out of the way and did:

# semanage fcontext -a -t public_content_rw_t '/srv/backup(/.*)?'
# semanage fcontext -a -t public_content_rw_t '/srv/softlib(/.*)?'

This then created a new /etc/selinux/targeted/contexts/files/file_contexts.local, which contained:

# This file is auto-generated by libsemanage
# Please use the semanage command to make changes

/srv/backup(/.*)?    system_u:object_r:public_content_rw_t:s0
/srv/softlib(/.*)?    system_u:object_r:public_content_rw_t:s0

So it seems that I can identify local changes by looking in the file (pretty much as before really, except that the file is created using semanage rather than vi).

One last thing: is it possible to add multiple objects in a single semanage call? I ask because each one takes a while to run (to do the rebuild), and I can imagine that in an RPM package where there might be lots of calls to semanage being made in a %post scriptlet, it would be better to add all the objects at once and only do a single rebuild.

Paul.

--
fedora-selinux-list mailing list
fedora-selinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-selinux-list

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux