mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Add new users as a member of the default group
This commit is contained in:
@@ -130,6 +130,7 @@ class user_add(crud.Create):
|
|||||||
ldap = self.api.Backend.ldap
|
ldap = self.api.Backend.ldap
|
||||||
kw['uid'] = uid
|
kw['uid'] = uid
|
||||||
kw['dn'] = ldap.make_user_dn(uid)
|
kw['dn'] = ldap.make_user_dn(uid)
|
||||||
|
default_group = None
|
||||||
|
|
||||||
# FIXME: enforce this elsewhere
|
# FIXME: enforce this elsewhere
|
||||||
# if servercore.uid_too_long(kw['uid']):
|
# if servercore.uid_too_long(kw['uid']):
|
||||||
@@ -154,12 +155,12 @@ class user_add(crud.Create):
|
|||||||
if not kw.get('gidnumber'):
|
if not kw.get('gidnumber'):
|
||||||
try:
|
try:
|
||||||
group_dn = ldap.find_entry_dn("cn", config.get('ipadefaultprimarygroup'))
|
group_dn = ldap.find_entry_dn("cn", config.get('ipadefaultprimarygroup'))
|
||||||
default_group = ldap.retrieve(group_dn, ['dn','gidNumber'])
|
default_group = ldap.retrieve(group_dn, ['cn', 'dn','gidNumber'])
|
||||||
if default_group:
|
if default_group:
|
||||||
kw['gidnumber'] = default_group.get('gidnumber')
|
kw['gidnumber'] = default_group.get('gidnumber')
|
||||||
except errors2.NotFound:
|
except errors2.NotFound:
|
||||||
# Fake an LDAP error so we can return something useful to the kw
|
# Fake an LDAP error so we can return something useful to the kw
|
||||||
raise errors2.NotFound, "The default group for new kws, '%s', cannot be found." % config.get('ipadefaultprimarygroup')
|
raise errors2.NotFound, "The default group for new users, '%s', cannot be found." % config.get('ipadefaultprimarygroup')
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
# catch everything else
|
# catch everything else
|
||||||
raise e
|
raise e
|
||||||
@@ -176,7 +177,13 @@ class user_add(crud.Create):
|
|||||||
# some required objectclasses
|
# some required objectclasses
|
||||||
kw['objectClass'] = config.get('ipauserobjectclasses')
|
kw['objectClass'] = config.get('ipauserobjectclasses')
|
||||||
|
|
||||||
return ldap.create(**kw)
|
new_user = ldap.create(**kw)
|
||||||
|
|
||||||
|
if default_group:
|
||||||
|
groupkw = {'users':kw.get('uid')}
|
||||||
|
api.Command['group_add_member'](default_group['cn'].decode('UTF-8'), **groupkw)
|
||||||
|
|
||||||
|
return new_user
|
||||||
|
|
||||||
def output_for_cli(self, textui, result, *args, **options):
|
def output_for_cli(self, textui, result, *args, **options):
|
||||||
"""
|
"""
|
||||||
@@ -334,8 +341,7 @@ class user_show(crud.Retrieve):
|
|||||||
return ldap.retrieve(dn, default_attributes)
|
return ldap.retrieve(dn, default_attributes)
|
||||||
|
|
||||||
def output_for_cli(self, textui, result, uid, **options):
|
def output_for_cli(self, textui, result, uid, **options):
|
||||||
if result:
|
display_user(result)
|
||||||
display_user(result)
|
|
||||||
|
|
||||||
api.register(user_show)
|
api.register(user_show)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user