def __init__(self, username): """Initialise the user object""" sr_ldap.bind() self.changed_props = [] if not self.__load(username): uidNumber = self.__get_new_uidNumber() self.init_passwd = GenPasswd() self.props = { "uid": username, "objectClass": ['inetOrgPerson', 'uidObject', 'posixAccount'], "uidNumber": str(self.__get_new_uidNumber()), "gidNumber": "1999", "homeDirectory": "/home/%s" % (username), "userPassword": encode_pass(self.init_passwd), "loginShell": "/bin/bash" } self.dn = "uid=%s,ou=users,o=sr" % (username) #All properties are new self.changed_props = self.props.keys() self.in_db = False else: self.in_db = True
def list(): sr_ldap.bind() g_res = get_conn().search_st("ou=groups,o=sr", ldap.SCOPE_ONELEVEL, filterstr="(objectClass=posixGroup)") groups = [x[1]["cn"][0] for x in g_res] return groups
def list(): sr_ldap.bind() u_res = get_conn().search_st("ou=users,o=sr", ldap.SCOPE_ONELEVEL, filterstr="(objectClass=inetOrgPerson)", attrlist=["uid"]) users = [x[1]["uid"][0] for x in u_res] return users
def __init__(self, name): """Initialise the group object. Args: name = the name of the group""" sr_ldap.bind() self.name = name #List of new users self.new_users = [] #List of removed users self.removed_users = [] if not self.__load(name): #Have to create new self.gid = self.__get_new_gidNumber() self.in_db = False self.members = [] self.dn = "cn=%s,ou=groups,o=sr" % (name) else: self.in_db = True