Esempio n. 1
0
    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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
    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