On Fri, Nov 28, 2008 at 12:49:11AM -0500, John A. Sullivan III wrote: > Hello, all. We're continuing to dive ever deeper into DS. Our thanks > to the developers for such a powerful product. > > Our integration with the RedHat family has gone well but now we're > working on Ubuntu. Most is working well but we are finding Ubuntu is > not enforcing password policies. For example, we require a user to > change their password after a reset. When a user logs into a RedHat > system, they are prompted for the change. However, Ubuntu just lets > them right in again and again with the same reset password. > > Any pointers on what to look for to fix this in our configuration before > we scour the world for a solution? We've already done quite a bit of > googling. > > We've tried enabling pam_lookup_policy but that didn't > work. /etc/pam.d/common-password reads: > > password requisite pam_cracklib.so retry=3 minlen=8 difok=3 > password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512 > password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass > # here's the fallback if no module succeeds > password requisite pam_deny.so > > # prime the stack with a positive return value if there isn't one already; > # this avoids us returning an error just because nothing sets a success code > # since the modules above will each just jump around > password required pam_permit.so > > We've also tried disabling that last pam_permit.so. That didn't help. Where should we look? Thanks - John When using PAM, the calling application "knows" that the user's password needs to be changed because the account management modules signal it, so you'll want to check the "account" portions of the PAM configuration. Specifically, you want to ensure that pam_ldap.so is being used, and that some other module isn't causing the account management function to return a success code before pam_ldap.so gets a chance to check on the user's account and return a password-needs-changing code. Just a guess, but going on what I get on my Fedora system, it might look something like this: account required pam_unix.so account sufficient pam_succeed_if.so uid < 500 quiet account [[default=bad success=ok user_unknown=ignore] pam_ldap.so account required pam_permit.so HTH, Nalin