back to svn]

Dominick Grift dominick.grift at gmail.com
Fri Nov 15 16:06:43 UTC 2013


On Fri, 2013-11-15 at 10:46 -0500, m.roth at 5-cent.us wrote:

> Good thought. NOW I'm *really* confused.
> ll -Z of the file gives me
> -rw-r--r--. <user> <group> system_u:system_r:httpd_sys_content_t:s0 <file>
> 
> Meanwhile,
> grep avc /var/log/audit/audit.log | grep <filename>
> gets me:
> <...>
> type=AVC msg=audit(1384527075.382:7606586): avc:  denied  { read } for 
> pid=1329 comm="httpd" name="<filename>" dev=sdc1 ino=66691074
> scontext=unconfined_u:system_r:httpd_t:s0
> tcontext=system_u:object_r:unlabeled_t:s0 tclass=file
> 
> "Unlabeled_t"?

You should probably watch some of my videos on youtube (1)

Because in some of those videos i explain what it means if you see
entities with the unlabeled_t type security identifier

But i will give you a run-down of it here:

There is this concept of "initial security identifiers" in SELinux.
Initial security identifiers are security identifiers that are
hard-coded into SELinux

Initial security identifiers are used to address three security
challenges:

1. deal with system initialization
2. deal with fixed resources
3. deal with fail-over

I will touch on the third challenge, because this is related to your
issue

Basically, SELinux uses initial sids for fail-over because:

SELinux needs a way to deal with mislabeled, and unlabeled files on
running systems.

The unlabeled initial sid is associated to entities by SELinux if a
entity has one or more invalid security indentifiers

The unlabeled_t security identifier is associated to the unlabeled
initial security identifier

So lets put that into context of your issue

You have the following denial:

> avc:  denied  { read } for 
> pid=1329 comm="httpd" name="<filename>" dev=sdc1 ino=66691074
> scontext=unconfined_u:system_r:httpd_t:s0
> tcontext=system_u:object_r:unlabeled_t:s0 tclass=file

You have the "<filename>" file labeled as follows:

system_u:system_r:httpd_sys_content_t:s0

We know that SELinux associates the unlabeled_t security identifier to
entities if the entity has one or more invalid security identifier

So we know the file has one or more invalid security identifier

The invalid security identifier in this case is the system_r role
security identifier.

On file system objects like files only the object_r role security
identifier is valid (if you want to know why watch my "selinux
explained" video on you tube (1)

So to get rid of the unlabeled_t issue you need to change the role
security identifier of the file called "<filename>"

for example: chcon -r object_r "<filename>"

..And remember, on file system objects the role sid should always be
object_r

(1) https://www.youtube.com/watch?v=1Jqcp3EhaqQ





More information about the selinux mailing list