Exemplo n.º 1
0
 def create_account(self, person, default_project):
     ua = super(AccountDataStore, self).create_account(person, default_project)
     conn = LDAPClient()
   
     ldap_attrs = __import__(settings.LDAP_ATTRS, {}, {}, [''])
   
     data = conn.get_user('sAMAccountName=%s' % person.username).__dict__
     
     data['cluster_account'] = True
     data['objectClass'] = settings.ACCOUNT_OBJECTCLASS
     data['default_project'] = default_project
     data['person'] = person
     conn.update_user(
         'sAMAccountName=%s' % person.username,
         objectClass=settings.ACCOUNT_OBJECTCLASS,
         uidNumber=ldap_attrs.GENERATED_USER_ATTRS['uidNumber'](data),
         gidNumber=ldap_attrs.GENERATED_USER_ATTRS['gidNumber'](data),
         unixHomeDirectory=ldap_attrs.GENERATED_USER_ATTRS['unixHomeDirectory'](data),
         loginShell=ldap_attrs.GENERATED_USER_ATTRS['loginShell'](data),
         uid=person.username,
         msSFU30Name=person.username,
         msSFU30NisDomain=settings.LDAP_NISDOMAIN,
         unixUserPassword='******',
         )
     del(conn)
     return ua
Exemplo n.º 2
0
 def unlock_user(self, person):
     super(PersonalDataStore, self).unlock_user(person)
     
     conn = LDAPClient()
     conn.update_user(
         'sAMAccountName=%s' % person.username,
         userAccountControl=512,
         )
Exemplo n.º 3
0
 def lock_user(self, person):
     super(PersonalDataStore, self).lock_user(person)
     
     conn = LDAPClient()
     conn.update_user(
         'uid=%s' % person.username,
         nsRoleDN=settings.LDAP_LOCK_DN,
         )
     del(conn)
Exemplo n.º 4
0
    def delete_account(self, ua):
        super(AccountDataStore, self).delete_account(ua)
        conn = LDAPClient()

        conn.update_user(
            'uid=%s' % ua.username,
            gecos='',
            uidNumber='',
            gidNumber='',
            homeDirectory='',
            loginShell='',
            objectClass=settings.USER_OBJECTCLASS
            )
        del(conn)
Exemplo n.º 5
0
 def update_user(self, person):
     conn = LDAPClient()
     
     conn.update_user(
         'sAMAccountName=%s' % person.username,
         cn='%s %s' % (str(person.first_name), str(person.last_name)),
         givenName=str(person.first_name),
         sn=str(person.last_name),
         telephoneNumber=str(person.telephone),
         mail=str(person.email),
         o=str(person.institute.name),
         )
     del(conn)
     super(PersonalDataStore, self).update_user(person)
Exemplo n.º 6
0
 def delete_account(self, ua):
     super(AccountDataStore, self).delete_account(ua)
     conn = LDAPClient()
     
     conn.update_user(
         'sAMAccountName=%s' % ua.username,
         uidNumber='',
         gidNumber='',
         unixHomeDirectory='',
         loginShell='',
         msSFU30Name='',
         msSFU30NisDomain='',
         unixUserPassword='',
         objectClass=settings.USER_OBJECTCLASS
         )
Exemplo n.º 7
0
    def update_account(self, ua):
        super(AccountDataStore, self).update_account(ua)
        conn = LDAPClient()
        ldap_attrs = __import__(settings.LDAP_ATTRS, {}, {}, [''])
        
        data = conn.get_user('uid=%s' % ua.username).__dict__
        data['default_project'] = ua.default_project
        data['person'] = ua.user

        conn.update_user(
            'uid=%s' % ua.username,
            homeDirectory=ldap_attrs.GENERATED_USER_ATTRS['homeDirectory'](data),
            gecos=ldap_attrs.GENERATED_USER_ATTRS['gecos'](data),
            gidNumber=ldap_attrs.GENERATED_USER_ATTRS['gidNumber'](data),
            )
        del(conn)
Exemplo n.º 8
0
 def create_account(self, person, default_project):
     ua = super(AccountDataStore, self).create_account(person, default_project)
     conn = LDAPClient()
     
     ldap_attrs = __import__(settings.LDAP_ATTRS, {}, {}, [''])
     
     data = conn.get_user('uid=%s' % person.username).__dict__
     data['objectClass'] = settings.ACCOUNT_OBJECTCLASS
     data['default_project'] = default_project
     data['person'] = person
     conn.update_user(
         'uid=%s' % person.username,
         gecos=ldap_attrs.GENERATED_USER_ATTRS['gecos'](data),
         uidNumber=ldap_attrs.GENERATED_USER_ATTRS['uidNumber'](data),
         gidNumber=ldap_attrs.GENERATED_USER_ATTRS['gidNumber'](data),
         homeDirectory=ldap_attrs.GENERATED_USER_ATTRS['homeDirectory'](data),
         loginShell=ldap_attrs.GENERATED_USER_ATTRS['loginShell'](data),
         objectClass=settings.ACCOUNT_OBJECTCLASS
         )
     del(conn)
     return ua
Exemplo n.º 9
0
 def activate_user(self, person):
     person = super(PersonalDataStore, self).activate_user(person)
     attrs = {}
     attrs['sAMAccountName'] = str(person.username)
     attrs['givenName'] = str(person.first_name)
     attrs['sn'] = str(person.last_name)
     attrs['telephoneNumber'] = str(person.telephone)
     attrs['mail'] = str(person.email)
     attrs['o'] = str(person.institute.name)
     conn = LDAPClient()
     dn = conn.add_user(**attrs)
     person.save(update_datastore=False)
     
     # Set password then unlock account
     if person.user.password != '!':
         import ldap
         mod_attrs = [(ldap.MOD_REPLACE, 'unicodePwd', str(person.user.password)), (ldap.MOD_REPLACE, 'unicodePwd', str(person.user.password))]
         conn.conn.modify_s(dn, mod_attrs)
         conn.update_user('sAMAccountName=%s' % str(person.username), userAccountControl=512)
         
     person.user.set_unusable_password()
     person.user.save()
     del(conn)
     return person
Exemplo n.º 10
0
 def change_shell(self, ua, shell):
     super(AccountDataStore, self).change_shell(ua, shell)
     conn = LDAPClient()
     conn.update_user('uid=%s' % ua.username, loginShell=str(shell))
     del(conn)