ldconfig, /etc/ld.so.cache and prelink ?
Stephen Smalley
sds at epoch.ncsc.mil
Fri Oct 29 14:46:43 UTC 2004
On Fri, 2004-10-29 at 10:31, Tom London wrote:
> Running strict/enforcing off of Rawhide.
>
> While doing today's rawhide installs (yum),
> I monitored the label of /etc/ld.so.cache via
> ls -lZ /etc/ld.so.cache
>
> Several times during the installation of packages,
> the label of this file changed from
> system_u:object_r:ld_so_cache_t
> to
> root:object_r:ld_so_cache_t
> [OK, I think]
> or to
> root:object_r:etc_t
> [Not OK, I think]
>
> Each time it changed to etc_t, I ran
> restorecon -vv /etc/ld.so.cache
> a few seconds later and got the typical
> restorecon reset context /etc/ld.so.cache->system_u:object_r:ld_so_cache_t
>
> I'm guessing that when a package updates
> /etc/ld.so.cache, it may leave the label
> in a funny state, presuming that yum
> will fix it at the end.
>
> Does this explain the 'intermittant' prelink
> error messages generated during package installations?
The problem is that ldconfig is presently being run in rpm_script_t
rather than ldconfig_t, and thus /etc/ld.so.cache is not being labeled
properly when it is re-created by ldconfig. ldconfig is run from %post
as a helper. I provided a rpm_execcon() libselinux function to avoid
this problem, but it isn't included in Fedora yet.
History of the problem is:
1) Originally, rpm only ran /bin/sh helpers in rpm_script_t; all others
ran with default transitions, so ldconfig ran in ldconfig_t (as desired)
but glibc_post_upgrade ran in rpm_t (and this ultimately led to sshd
being run in rpm_t upon the /etc/init.d/sshd condrestart).
2) rpm was changed to run all helpers in rpm_script_t to avoid the
glibc_post_upgrade problem.
3) ldconfig is now being run in rpm_script_t. Oops.
4) I created a rpm_execcon function that checks for a default transition
for the helper and only sets explicitly to rpm_script_t if no automatic
transition is defined. This puts ldconfig into ldconfig_t as desired
and everything else in rpm_script_t.
--
Stephen Smalley <sds at epoch.ncsc.mil>
National Security Agency
More information about the fedora-selinux-list
mailing list