Bug 558163

Summary: SELinux is preventing /usr/libexec/mysqld "unlink" access on /var/lib/squeezeboxserver/cache/squeezebox-mysql.sock.
Product: [Fedora] Fedora Reporter: Dmitry Burstein <dmitryburstein>
Component: selinux-policyAssignee: Daniel Walsh <dwalsh>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: bugzilla+redhat, dwalsh, mailings, mgrepl, redhatbugzilla
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: setroubleshoot_trace_hash:baef7aae4b1d46fb837bc6fe6c64f5367c3a87a8c9e53a45c794e6bcceb9a23f
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-01-27 12:26:49 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 Dmitry Burstein 2010-01-24 02:07:34 UTC
Summary:

SELinux is preventing /usr/libexec/mysqld "unlink" access on
/var/lib/squeezeboxserver/cache/squeezebox-mysql.sock.

Detailed Description:

SELinux denied access requested by mysqld. It is not expected that this access
is required by mysqld and this access may signal an intrusion attempt. It is
also possible that the specific version or configuration of the application is
causing it to require additional access.

Allowing Access:

You can generate a local policy module to allow this access - see FAQ
(http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385) Please file a bug
report.

Additional Information:

Source Context                unconfined_u:system_r:mysqld_t:s0
Target Context                system_u:object_r:mysqld_db_t:s0
Target Objects                /var/lib/squeezeboxserver/cache/squeezebox-
                              mysql.sock [ sock_file ]
Source                        mysqld
Source Path                   /usr/libexec/mysqld
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           mysql-server-5.1.42-2.fc12
Target RPM Packages           
Policy RPM                    selinux-policy-3.6.32-69.fc12
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Plugin Name                   catchall
Host Name                     (removed)
Platform                      Linux (removed) 2.6.31.12-174.2.3.fc12.i686.PAE #1
                              SMP Mon Jan 18 20:06:44 UTC 2010 i686 i686
Alert Count                   2
First Seen                    Sun 24 Jan 2010 02:55:38 AM IST
Last Seen                     Sun 24 Jan 2010 02:55:47 AM IST
Local ID                      ada77b93-b8f2-4b78-a1e0-4384321efbe3
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1264294547.183:40072): avc:  denied  { unlink } for  pid=3803 comm="mysqld" name="squeezebox-mysql.sock" dev=dm-0 ino=1179 scontext=unconfined_u:system_r:mysqld_t:s0 tcontext=system_u:object_r:mysqld_db_t:s0 tclass=sock_file

node=(removed) type=SYSCALL msg=audit(1264294547.183:40072): arch=40000003 syscall=10 success=no exit=-13 a0=a26f011 a1=a26f047 a2=881f834 a3=bf93dd3a items=0 ppid=3801 pid=3803 auid=500 uid=490 gid=475 euid=490 suid=490 fsuid=490 egid=475 sgid=475 fsgid=475 tty=(none) ses=1 comm="mysqld" exe="/usr/libexec/mysqld" subj=unconfined_u:system_r:mysqld_t:s0 key=(null)



Hash String generated from  selinux-policy-3.6.32-69.fc12,catchall,mysqld,mysqld_t,mysqld_db_t,sock_file,unlink
audit2allow suggests:

#============= mysqld_t ==============
allow mysqld_t mysqld_db_t:sock_file unlink;

Comment 1 Daniel Walsh 2010-01-25 17:40:24 UTC
Did you set the label on this directory to mysqld_db_t?  If you set it to 
mysqld_var_run_t this would work.

Comment 2 Miroslav Grepl 2010-01-27 12:26:49 UTC
Ok, the problem is squeezeboxserver sets up the following context:

sh-4.0# rpm -q --scripts squeezeboxserver | grep "semanage fcontext -a"
[ -x /usr/sbin/semanage ] && /usr/sbin/semanage fcontext -a -t mysqld_db_t "${CACHEDIR}(/.*)?"
[ -x /usr/sbin/semanage ] && /usr/sbin/semanage fcontext -a -t mysqld_var_run_t "${CACHEDIR}/squeezeboxserver-mysql.sock"


They did not change "squeezeboxserver-mysql.sock" to squeezebox-mysql.sock"


You can add the proper label using:

semanage fcontext -a -t mysqld_var_run_t "/var/lib/squeezeboxserver/cache/squeezebox-mysql.sock"

Comment 3 Miroslav Grepl 2010-01-27 12:28:07 UTC
*** Bug 557395 has been marked as a duplicate of this bug. ***

Comment 4 Daniel Walsh 2010-01-27 16:19:39 UTC
Please open a bug with squeezeboxserver.

Comment 5 Miroslav Grepl 2010-03-08 12:10:31 UTC
*** Bug 571099 has been marked as a duplicate of this bug. ***