Bug 816999

Summary: SELinux is preventing /sbin/ldconfig from 'write' accesses on the directory /var/cache.
Product: [Fedora] Fedora Reporter: John L Magee <jlmagee>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: dominick.grift, dwalsh, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:61418baae255cce6024dfd7fa949c56e03fc3d7ec74bf71e3156023627b43ec6
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-28 03:25:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John L Magee 2012-04-27 12:19:30 UTC
libreport version: 2.0.8
executable:     /usr/bin/python2.7
hashmarkername: setroubleshoot
kernel:         3.3.2-6.fc16.x86_64
reason:         SELinux is preventing /sbin/ldconfig from 'write' accesses on the directory /var/cache.
time:           Fri 27 Apr 2012 08:18:32 AM EDT

description:
:SELinux is preventing /sbin/ldconfig from 'write' accesses on the directory /var/cache.
:
:*****  Plugin catchall_labels (83.8 confidence) suggests  ********************
:
:If you want to allow ldconfig to have write access on the cache directory
:Then you need to change the label on /var/cache
:Do
:# semanage fcontext -a -t FILE_TYPE '/var/cache'
:where FILE_TYPE is one of the following: user_home_t, ld_so_cache_t, var_lib_t, ldconfig_tmp_t, ldconfig_cache_t, lib_t, tmp_t, etc_t, user_tmp_t, rpm_script_tmp_t. 
:Then execute: 
:restorecon -v '/var/cache'
:
:
:*****  Plugin catchall (17.1 confidence) suggests  ***************************
:
:If you believe that ldconfig should be allowed write access on the cache directory by default.
:Then you should report this as a bug.
:You can generate a local policy module to allow this access.
:Do
:allow this access for now by executing:
:# grep ldconfig /var/log/audit/audit.log | audit2allow -M mypol
:# semodule -i mypol.pp
:
:Additional Information:
:Source Context                unconfined_u:system_r:ldconfig_t:s0-s0:c0.c1023
:Target Context                system_u:object_r:var_t:s0
:Target Objects                /var/cache [ dir ]
:Source                        ldconfig
:Source Path                   /sbin/ldconfig
:Port                          <Unknown>
:Host                          (removed)
:Source RPM Packages           glibc-2.14.90-24.fc16.6.x86_64
:                              glibc-2.14.90-24.fc16.6.i686
:Target RPM Packages           filesystem-2.4.44-1.fc16.x86_64
:Policy RPM                    selinux-policy-3.10.0-86.fc16.noarch
:Selinux Enabled               True
:Policy Type                   targeted
:Enforcing Mode                Enforcing
:Host Name                     (removed)
:Platform                      Linux (removed) 3.3.2-6.fc16.x86_64
:                              #1 SMP Sat Apr 21 12:43:20 UTC 2012 x86_64 x86_64
:Alert Count                   10
:First Seen                    Fri 27 Apr 2012 08:13:00 AM EDT
:Last Seen                     Fri 27 Apr 2012 08:13:21 AM EDT
:Local ID                      72da0ed9-ab22-4df3-a5d4-39d623f89ab6
:
:Raw Audit Messages
:type=AVC msg=audit(1335528801.445:1995): avc:  denied  { write } for  pid=13586 comm="ldconfig" name="/" dev="tmpfs" ino=12159 scontext=unconfined_u:system_r:ldconfig_t:s0-s0:c0.c1023 tcontext=system_u:object_r:var_t:s0 tclass=dir
:
:
:type=SYSCALL msg=audit(1335528801.445:1995): arch=x86_64 syscall=mkdir success=no exit=EACCES a0=7fffbd3b9a00 a1=1c0 a2=ffffffffffffffd0 a3=1f items=0 ppid=13330 pid=13586 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=2 comm=ldconfig exe=/sbin/ldconfig subj=unconfined_u:system_r:ldconfig_t:s0-s0:c0.c1023 key=(null)
:
:Hash: ldconfig,ldconfig_t,var_t,dir,write
:
:audit2allow
:
:#============= ldconfig_t ==============
:#!!!! The source type 'ldconfig_t' can write to a 'dir' of the following types:
:# user_home_t, ld_so_cache_t, var_lib_t, ldconfig_tmp_t, ldconfig_cache_t, lib_t, tmp_t, etc_t, user_tmp_t, rpm_script_tmp_t
:
:allow ldconfig_t var_t:dir write;
:
:audit2allow -R
:
:#============= ldconfig_t ==============
:#!!!! The source type 'ldconfig_t' can write to a 'dir' of the following types:
:# user_home_t, ld_so_cache_t, var_lib_t, ldconfig_tmp_t, ldconfig_cache_t, lib_t, tmp_t, etc_t, user_tmp_t, rpm_script_tmp_t
:
:allow ldconfig_t var_t:dir write;
:

Comment 1 Daniel Walsh 2012-04-27 14:34:36 UTC
9920aa7c4ee32b3d4fb4e67a3300e8f27e729c61 fixes this in Fedora 17

mkdir /var/cache/ldconfig
restorecon /var/cache/ldconfig

Will fix it for now.

Comment 2 Miroslav Grepl 2012-05-02 10:05:36 UTC
Fixed in selinux-policy-3.10.0-88.fc16

Comment 3 Fedora Update System 2012-06-15 10:29:33 UTC
selinux-policy-3.10.0-89.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/selinux-policy-3.10.0-89.fc16

Comment 4 Fedora Update System 2012-06-15 23:51:37 UTC
Package selinux-policy-3.10.0-89.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing selinux-policy-3.10.0-89.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-9507/selinux-policy-3.10.0-89.fc16
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2012-06-28 03:25:56 UTC
selinux-policy-3.10.0-89.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.