summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/user.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2010-10-25 17:58:37 -0400
committerAdam Young <ayoung@redhat.com>2010-11-01 14:15:42 -0400
commit813dfe501348a671eeb3655cc7406c8e37a3860c (patch)
tree419a3d28ec0112aa00217c8e866152aa3f6391e3 /ipalib/plugins/user.py
parentaff2816d2021a5c15dfb93bfb78263f41992582a (diff)
downloadfreeipa-813dfe501348a671eeb3655cc7406c8e37a3860c.tar.gz
freeipa-813dfe501348a671eeb3655cc7406c8e37a3860c.tar.xz
freeipa-813dfe501348a671eeb3655cc7406c8e37a3860c.zip
Use kerberos password policy.
This lets the KDC count password failures and can lock out accounts for a period of time. This only works for KDC >= 1.8. There currently is no way to unlock a locked account across a replica. MIT Kerberos 1.9 is adding support for doing so. Once that is available unlock will be added. The concept of a "global" password policy has changed. When we were managing the policy using the IPA password plugin it was smart enough to search up the tree looking for a policy. The KDC is not so smart and relies on the krbpwdpolicyreference to find the policy. For this reason every user entry requires this attribute. I've created a new global_policy entry to store the default password policy. All users point at this now. The group policy works the same and can override this setting. As a result the special "GLOBAL" name has been replaced with global_policy. This policy works like any other and is the default if a name is not provided on the command-line. ticket 51
Diffstat (limited to 'ipalib/plugins/user.py')
-rw-r--r--ipalib/plugins/user.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py
index 6bfb7b6f..086dc393 100644
--- a/ipalib/plugins/user.py
+++ b/ipalib/plugins/user.py
@@ -177,6 +177,7 @@ class user_add(LDAPCreate):
home_dir = '%s/%s' % (homes_root, keys[-1])
home_dir = home_dir.replace('//', '/').rstrip('/')
entry_attrs['homedirectory'] = home_dir
+ entry_attrs.setdefault('krbpwdpolicyreference', 'cn=global_policy,cn=%s,cn=kerberos,%s' % (api.env.realm, api.env.basedn))
if ldap.has_upg():
# User Private Groups - uidNumber == gidNumber