Bug 866317

Summary: SELinux is preventing /usr/libexec/accounts-daemon from 'write' accesses on the directory users.
Product: [Fedora] Fedora Reporter: Stef Walter <stefw>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: dominick.grift, dwalsh, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:6a821e4d8af3a54d610ee176f90ceb70075b8985ece1b4c9b5d49236072d1fa3
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-15 08:52:37 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:
Attachments:
Description Flags
File: type
none
File: hashmarkername none

Description Stef Walter 2012-10-15 05:11:06 UTC
Description of problem:
I tried to reset the selinux context for AccountsService:

[stef@stef-redhat realmd]$ sudo restorecon -v /var/lib/AccountsService/users/
[sudo] password for stef: 

This occurred while joining a domain with realmd, which restarts accounts-daemon.


Additional info:
libreport version: 2.0.16
kernel:         3.6.1-1.fc18.x86_64

description:
:SELinux is preventing /usr/libexec/accounts-daemon from 'write' accesses on the directory users.
:
:*****  Plugin catchall_labels (83.8 confidence) suggests  ********************
:
:If you want to allow accounts-daemon to have write access on the users directory
:Then you need to change the label on users
:Do
:# semanage fcontext -a -t FILE_TYPE 'users'
:where FILE_TYPE is one of the following: xdm_etc_t, var_lib_t, accountsd_var_lib_t. 
:Then execute: 
:restorecon -v 'users'
:
:
:*****  Plugin catchall (17.1 confidence) suggests  ***************************
:
:If you believe that accounts-daemon should be allowed write access on the users 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 accounts-daemon /var/log/audit/audit.log | audit2allow -M mypol
:# semodule -i mypol.pp
:
:Additional Information:
:Source Context                system_u:system_r:accountsd_t:s0
:Target Context                unconfined_u:object_r:usr_t:s0
:Target Objects                users [ dir ]
:Source                        accounts-daemon
:Source Path                   /usr/libexec/accounts-daemon
:Port                          <Unknown>
:Host                          (removed)
:Source RPM Packages           accountsservice-0.6.25-1.fc18.x86_64
:Target RPM Packages           
:Policy RPM                    selinux-policy-3.11.1-25.fc18.noarch
:Selinux Enabled               True
:Policy Type                   targeted
:Enforcing Mode                Enforcing
:Host Name                     (removed)
:Platform                      Linux (removed) 3.6.0-0.rc7.git1.4.fc18.x86_64 #1
:                              SMP Tue Sep 25 19:55:25 UTC 2012 x86_64 x86_64
:Alert Count                   1
:First Seen                    2012-10-10 11:39:09 EDT
:Last Seen                     2012-10-10 11:39:09 EDT
:Local ID                      c3e73e85-fdf6-4dd2-9054-d26133d7259c
:
:Raw Audit Messages
:type=AVC msg=audit(1349883549.517:517): avc:  denied  { write } for  pid=6663 comm="accounts-daemon" name="users" dev="sda3" ino=2366806 scontext=system_u:system_r:accountsd_t:s0 tcontext=unconfined_u:object_r:usr_t:s0 tclass=dir
:
:
:type=SYSCALL msg=audit(1349883549.517:517): arch=x86_64 syscall=open success=no exit=EACCES a0=2510d80 a1=c2 a2=1b6 a3=0 items=0 ppid=1 pid=6663 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm=accounts-daemon exe=/usr/libexec/accounts-daemon subj=system_u:system_r:accountsd_t:s0 key=(null)
:
:Hash: accounts-daemon,accountsd_t,usr_t,dir,write
:
:audit2allow
:
:#============= accountsd_t ==============
:#!!!! The source type 'accountsd_t' can write to a 'dir' of the following types:
:# accountsd_var_lib_t, xdm_etc_t, var_lib_t
:
:allow accountsd_t usr_t:dir write;
:
:audit2allow -R
:
:#============= accountsd_t ==============
:#!!!! The source type 'accountsd_t' can write to a 'dir' of the following types:
:# accountsd_var_lib_t, xdm_etc_t, var_lib_t
:
:allow accountsd_t usr_t:dir write;
:

Comment 1 Stef Walter 2012-10-15 05:11:09 UTC
Created attachment 627194 [details]
File: type

Comment 2 Stef Walter 2012-10-15 05:11:11 UTC
Created attachment 627195 [details]
File: hashmarkername

Comment 3 Miroslav Grepl 2012-10-15 08:52:37 UTC
You will need to execute

# restorecon -R -v /var/lib/AccountsService