Bug 896476

Summary: SSSD should warn when pam_pwd_expiration_warning value is higher than passwordWarning LDAP attribute.
Product: Red Hat Enterprise Linux 6 Reporter: Amith <apeetham>
Component: sssdAssignee: Jakub Hrozek <jhrozek>
Status: CLOSED ERRATA QA Contact: Kaushik Banerjee <kbanerje>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.4CC: dpal, grajaiya, jgalipea, okos, pbrezina, tlavigne
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: sssd-1.9.2-78.el6 Doc Type: Bug Fix
Doc Text:
No documentation needed.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 09:43:42 UTC Type: Bug
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:    
Bug Blocks: 905536    

Description Amith 2013-01-17 11:52:33 UTC
Description of problem:
This issue was observed during the testing of SSSD new feature pam_pwd_expiration_warning which was set to 3 days in sssd.conf, while keeping LDAP attributes passwordMaxAge = 3 days and passwordWarning = 2 days. In this case, when a user logs in 3 days prior to password Max age, user should see a password expiry warning OR the log files should show warning messages. Both the log files, ie /var/log/secure and SSSD_Domain log file doesn't show any warning message. So, i am assuming that SSSD is honouring passwordWarning LDAP attribute which has a lower value than pam_pwd_expiration_warning.

Version-Release number of selected component (if applicable):
SSSD Version: sssd-1.9.2-41.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Add an LDAP user and set the following attributes in LDAP Server:
   passwordMaxAge = 259200 (3 days)
   passwordWarning: 180000 (2.083 days)

2. Add "pam_pwd_expiration_warning = 3" in [pam] section of sssd.conf. See the conf details below:

    [sssd]
    config_file_version = 2
    sbus_timeout = 30
    services = nss, pam
    domains = LDAP

    [nss]
    filter_groups = root
    filter_users = root
    debug_level = 9

    [domain/LDAP]
    debug_level=9
    id_provider = ldap
    auth_provider = ldap
    ldap_uri = ldap://$SERVERS
    ldap_tls_cacert = /etc/openldap/certs/cacert.asc
    ldap_search_base = dc=example,dc=com

    [pam]
    debug_level = 9
    pam_pwd_expiration_warning = 3

3. Clear the cache and restart sssd service, if already running.

4. Authenticate the user and verify the /var/log/secure and SSSD_DOMAIN log files.
  
Actual results:
Upon login, user is not shown password expiry message. Also, both the log files, ie /var/log/secure and SSSD_Domain log file doesn't show any warning message. I am assuming that SSSD is honouring passwordWarning attribute which has a lower value than pam_pwd_expiration_warning.

Expected results:
SSSD should show warning during user login and the same should be logged in log files as well.

Additional info:

Comment 2 Jakub Hrozek 2013-01-17 13:08:23 UTC
Upstream ticket:
https://fedorahosted.org/sssd/ticket/1773

Comment 5 Amith 2013-01-25 10:55:00 UTC
Verified and automated the BZ on SSSD version - sssd-1.9.2-82.el6.x86_64

This bug was logged based on the assumption that the SSSD pam_pwd_expiration_warning feature could override the LDAP passwordWarning feature and generate warning. However, sssd client feature also depends on the expiry warning generated by LDAP so if the value is set higher than passwordWarning then user will not get any warning. 

In simple words, if pam_pwd_exp_warn = 0, passwordWarning=3 days & passwordMaxAge =3 days then user will receive warnings;
But if pam_pwd_exp_warn = 3, passwordWarning=2 days & passwordMaxAge = 3 days, user will not see warnings since LDAP server will not generate warnings in this case until 3 days.

Comment 6 errata-xmlrpc 2013-02-21 09:43:42 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0508.html