예제 #1
0
def get_shell(userid):
    member = ldapi.lookup(ld, 'uid', userid, cfg['ldap_users_base'])
    if not member:
        raise NoSuchMember(userid)
    if 'loginShell' not in member:
        return
    return member['loginShell'][0]
예제 #2
0
def get_group(group):
    """
    Look up group by groupname

    Returns a dictionary of group attributes
    """

    return ldapi.lookup(ld, 'cn', group, cfg['ldap_groups_base'])
예제 #3
0
def group_members(group):

    """
    Returns a list of group members
    """

    group = ldapi.lookup(ld, 'cn', group, cfg['ldap_groups_base'])

    if group and 'uniqueMember' in group:
        r = re.compile('^uid=([^,]*)')
        return map(lambda x: r.match(x).group(1), group['uniqueMember'])
    return []
예제 #4
0
def get(userid):
    """
    Look up attributes of a member by userid.

    Returns: a dictionary of attributes

    Example: get('mspang') -> {
                 'cn': [ 'Michael Spang' ],
                 'program': [ 'Computer Science' ],
                 ...
             }
    """

    return ldapi.lookup(ld, 'uid', userid, cfg['ldap_users_base'])