Re: prelink, cron-job and SELinux compliance

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

 



On Mon, 2008-03-10 at 09:00 -0400, Daniel J Walsh wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Stefan Schulze Frielinghaus wrote:
> > In RHEL/CentOS 5.1 a cron job (/etc/cron.daily/prelink) runs prelink.
> > The cron job itself removes a file (/etc/prelink.cache) if necessary and
> > updates the database. This does not work with the strict SELinux policy.
> > 
> > To solve this I patched the prelink application to
> > use /var/cache/prelink/prelink.cache instead of /etc/prelink.cache
> > This would make it more easier to write SELinux policies. But know my
> > actual question is how to modify the cron job to work properly? All cron
> > jobs on my system are labeled as bin_t. This would mean that
> > system_crond_t needs write/create etc. permissions
> > on /var/cache/prelink. Thats not really nice and I would prefer to
> > create a domain like cron_script_prelink_t for /etc/cron.daily/prelink
> > which gets all the rights to manage /var/cache/prelink.
> > 
> > What are your ideas to handle cron scripts properly?
> > 
> > 
> > --
> > 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.
> Does labeling the directory cron_var_run_t make it work?
> 
> Please open a bug report on prelink to put the cache file in this new
> directory.

The relabel did not solve the problem (AVCs are attached).

#============= prelink_t ==============
allow prelink_t crond_var_run_t:dir { remove_name add_name };
allow prelink_t crond_var_run_t:file { write rename create setattr };

#============= system_crond_t ==============
allow system_crond_t crond_var_run_t:dir { write remove_name add_name };
allow system_crond_t self:process setfscreate;

Should we create a special type for this purpose (like already
mentioned: cron_script_prelink_t and label the
file /etc/cron.daily/prelink)?

I opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=437684

cheers
Stefan

PS: Sorry for responding so late but I did not have a Internet
connection during last week.
audit(1205665501.789:1129): avc:  denied  { write } for  pid=24611 comm="rm" name="prelink" dev=hda5 ino=457412 scontext=system_u:system_r:system_crond_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=dir
audit(1205665501.789:1130): avc:  denied  { remove_name } for  pid=24611 comm="rm" name="prelink.force" dev=hda5 ino=457414 scontext=system_u:system_r:system_crond_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=dir
audit(1205665501.790:1131): avc:  denied  { add_name } for  pid=24612 comm="prelink" name="prelink.full" scontext=system_u:system_r:system_crond_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=dir
audit(1205665501.795:1132): avc:  denied  { setfscreate } for  pid=24613 comm="cp" scontext=system_u:system_r:system_crond_t:s0-s0:c0.c1023 tcontext=system_u:system_r:system_crond_t:s0-s0:c0.c1023 tclass=process
audit(1205665506.540:1133): avc:  denied  { add_name } for  pid=24614 comm="prelink" name="prelink.cache.FlNd0C" scontext=system_u:system_r:prelink_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=dir
audit(1205665506.540:1134): avc:  denied  { create } for  pid=24614 comm="prelink" name="prelink.cache.FlNd0C" scontext=system_u:system_r:prelink_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=file
audit(1205665506.541:1135): avc:  denied  { write } for  pid=24614 comm="prelink" path="/var/cache/prelink/prelink.cache.FlNd0C" dev=hda5 ino=457415 scontext=system_u:system_r:prelink_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=file
audit(1205665506.542:1136): avc:  denied  { setattr } for  pid=24614 comm="prelink" name="prelink.cache.FlNd0C" dev=hda5 ino=457415 scontext=system_u:system_r:prelink_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=file
audit(1205665506.542:1137): avc:  denied  { remove_name } for  pid=24614 comm="prelink" name="prelink.cache.FlNd0C" dev=hda5 ino=457415 scontext=system_u:system_r:prelink_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=dir
audit(1205665506.543:1138): avc:  denied  { rename } for  pid=24614 comm="prelink" name="prelink.cache.FlNd0C" dev=hda5 ino=457415 scontext=system_u:system_r:prelink_t:s0-s0:c0.c1023 tcontext=system_u:object_r:crond_var_run_t:s0 tclass=file

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

  Powered by Linux