Bug 649312

Summary: SSSD will sometimes lose groups from the cache
Product: Red Hat Enterprise Linux 6 Reporter: RHEL Program Management <pm-rhel>
Component: sssdAssignee: Stephen Gallagher <sgallagh>
Status: CLOSED ERRATA QA Contact: Chandrasekar Kannan <ckannan>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.0CC: benl, borgan, dpal, fnadge, grajaiya, jgalipea, pm-eus, sgallagh
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sssd-1.2.1-28.el6_0.2 Doc Type: Bug Fix
Doc Text:
Previously, SSSD could remove legitimate groups that were only identified as a user's primary group when the cache cleanup routine ran. This could cause issues with group-based access control permissions such as access.conf and sudoers. With this update, SSSD checks also whether there are users who have this group as their primary group ID.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 19:12:43 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:
Bug Depends On: 649286    
Bug Blocks:    

Description RHEL Program Management 2010-11-03 14:18:01 UTC
This bug has been copied from bug #649286 and has been proposed
to be backported to 6.0 z-stream (EUS).

Comment 4 Jenny Severance 2010-11-04 16:17:54 UTC
verified:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: bz649286-SSSD-will-sometimes-lose-groups-from-the-cache
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [   PASS   ] :: Running 'echo "[sssd]" > /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "config_file_version = 2" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "domains = LDAP" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "debug_level = 6" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "reconnection_retries = 3" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "services = nss, pam" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "[nss]" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "filter_groups = root" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "filter_users = root" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "[pam]" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "[domain/LDAP]" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "id_provider = ldap" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "auth_provider = ldap" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "enumerate = false" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "debug_level = 9" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "cache_credentials = True" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "ldap_uri = ldaps://dell-pe2850-01.rhts.eng.bos.redhat.com:636" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "ldap_tls_cacertdir = /etc/openldap/cacerts" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "ldap_tls_cacert = /etc/openldap/cacerts/cacert.asc" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "ldap_search_base = dc=example,dc=com" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'echo "ldap_purge_cache_timeout = 5" >> /etc/sssd/sssd.conf'
:: [   PASS   ] :: Running 'service sssd stop'
:: [   PASS   ] :: Running 'rm -fr /var/lib/sss/db/*.ldb'
:: [   PASS   ] :: Running 'service sssd start'
:: [   PASS   ] :: napping for 5 secs...
:: [   PASS   ] :: Running 'restart_clearing_cache'
:: [   PASS   ] :: Running '/usr/bin/ldapmodify -a -x -h dell-pe2850-01.rhts.eng.bos.redhat.com -p 389 -D "cn=Directory Manager" -w Secret123 -f newgroup.ldif'
:: [   PASS   ] :: Running '/usr/bin/ldapmodify -a -x -h dell-pe2850-01.rhts.eng.bos.redhat.com -p 389 -D "cn=Directory Manager" -w Secret123 -f newuser.ldif'
:: [   PASS   ] :: Running 'service sssd stop'
:: [   PASS   ] :: Running 'rm -fr /var/lib/sss/db/*.ldb'
:: [   PASS   ] :: Running 'service sssd start'
:: [   PASS   ] :: napping for 5 secs...
:: [   PASS   ] :: Running 'restart_clearing_cache'
:: [   PASS   ] :: ensuring full startup is done
:: [   PASS   ] :: Running 'id newuser1 | grep newgroup1'
:: [   PASS   ] :: Running 'sleep 15'
:: [   LOG    ] :: Duration: 56s
:: [   LOG    ] :: Assertions: 39 good, 0 bad
:: [   PASS   ] :: RESULT: bz649286-SSSD-will-sometimes-lose-groups-from-the-cache

Comment 7 errata-xmlrpc 2010-11-10 19:12:43 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2010-0852.html

Comment 8 Florian Nadge 2011-01-03 11:20:27 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Previously, SSSD could remove legitimate groups that were only identified as a user's primary group when the cache cleanup routine ran. This could cause issues with group-based access control permissions such as access.conf and sudoers. With this update, SSSD checks also whether there are users who have this group as their primary group ID.