diff --git a/seafile-ldap.py b/seafile-ldap.py index 246cfdb..eb9d897 100644 --- a/seafile-ldap.py +++ b/seafile-ldap.py @@ -132,7 +132,7 @@ ldap.search(ldapBase, '(&(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2 logger.debug("Found {0} LDAP users.".format(len(ldap.entries))) ldapUsers = ldap.entries for user in ldapUsers: - logger.debug("User: {0} - Email: {1} - UserDN: {2}".format(user.name, user.mail, user.distinguishedName)) + logger.debug("User: {0} - Email: {1} - UserDN: {2}".format(user.displayName, user.mail, user.distinguishedName)) # Connect to DB dbconfig = { @@ -217,9 +217,15 @@ for ldapUser in ldapUsers: for sqlLDAPuser in sqlLDAPusers: logger.debug("Searching for user {0} that has an email address, are enabled, and in the {1} group.".format(sqlLDAPuser[1], ldapFilter)) ldap.search(ldapBase, '(&(mail={0})(!(userAccountControl:1.2.840.113556.1.4.803:=2))({1}))'.format(sqlLDAPuser[1], ldapFilter), attributes=['*']) - logger.debug("Found {0} LDAP user.".format(len(ldap.entries))) - print(ldap.entries) - #logger.debug("User: {0} - Email: {1} - UserDN: {2}".format(ldap.entries.[0].name, ldap.entries.[0].mail, ldap.entries.[0].distinguishedName)) + count = len(ldap.entries) + logger.debug("Found {0} LDAP user.".format(count)) + if count == 0: + # User is not enabled, have email, or in the group, disable their account + disableUserinSeafile = request('admin/users/{0}/'.format(sqlLDAPuser[1]), seafileURL, seafileToken, "PUT", {"is_active": "false"})['response'] + if not disableUserinSeafile['is_active']: + logger.info("User {0} was set to disabled in Seafile".format(sqlLDAPuser[1]l)) + else: + logger.error("There was an error setting user {0} to disabled in Seafile".format(sqlLDAPuser[1])) #if [item for item in ldapUsers if sqlLDAPuser[1] in item]: #logger.debug("Found {0} in sql table".format(sqlLDAPuser[1]))