diff --git a/tests/test_env/etc/ldapcherry/attributes.yml b/tests/test_env/etc/ldapcherry/attributes.yml new file mode 100644 index 0000000..47dd9a4 --- /dev/null +++ b/tests/test_env/etc/ldapcherry/attributes.yml @@ -0,0 +1,132 @@ +cn: + description: "First Name and Display Name" + display_name: "Display Name" + type: string + weight: 30 + autofill: + function: lcDisplayName + args: + - $first-name + - $name + backends: + ldap: cn + ad: cn +first-name: + description: "First name of the user" + display_name: "First Name" + search_displayed: True + type: string + weight: 20 + backends: + ldap: givenName + ad: givenName +name: + description: "Family name of the user" + display_name: "Name" + search_displayed: True + weight: 10 + type: string + backends: + ldap: sn + ad: sn +email: + description: "Email of the user" + display_name: "Email" + search_displayed: True + type: email + weight: 40 + autofill: + function: lcMail + args: + - $first-name + - $name + - '@example.com' + backends: + ldap: mail + ad: mail +uid: + description: "UID of the user" + display_name: "UID" + search_displayed: True + key: True + type: string + weight: 50 + autofill: + function: lcUid + args: + - $first-name + - $name + - '10000' + - '40000' + backends: + ldap: uid + ad: sAMAccountName +uidNumber: + description: "User ID Number of the user" + display_name: "UID Number" + weight: 60 + type: int + autofill: + function: lcUidNumber + args: + - $first-name + - $name + - '10000' + - '40000' + backends: + ldap: uidNumber + ad: uidNumber +gidNumber: + description: "Group ID Number of the user" + display_name: "GID Number" + weight: 70 + type: int + default: '10000' + backends: + ldap: gidNumber + ad: gidNumber +shell: + description: "Shell of the user" + display_name: "Shell" + weight: 80 + self: True + type: stringlist + values: + - /bin/bash + - /bin/zsh + - /bin/sh + backends: + ldap: loginShell + ad: loginShell +home: + description: "Home user path" + display_name: "Home" + weight: 90 + type: string + autofill: + function: lcHomeDir + args: + - $first-name + - $name + - /home/ + backends: + ldap: homeDirectory + ad: homeDirectory +password: + description: "Password of the user" + display_name: "Password" + weight: 31 + self: True + type: password + backends: + ldap: userPassword + ad: unicodePwd + +#logscript: +# description: "Windows login script" +# display_name: "Login script" +# weight: 100 +# type: fix +# value: login1.bat +# backends: +# ad: scriptPath diff --git a/tests/test_env/etc/ldapcherry/ldapcherry.ini b/tests/test_env/etc/ldapcherry/ldapcherry.ini new file mode 100644 index 0000000..d41f53d --- /dev/null +++ b/tests/test_env/etc/ldapcherry/ldapcherry.ini @@ -0,0 +1,125 @@ +# global parameters +[global] + +# listing interface +server.socket_host = '127.0.0.1' +# port +server.socket_port = 8080 +# number of threads +server.thread_pool = 8 +#don't show traceback on error +request.show_tracebacks = False + +# log configuration +# /!\ you can't have multiple log handlers +##################################### +# configuration to log in files # +##################################### +## logger 'file' for access log +#log.access_handler = 'file' +## logger syslog for error and ldapcherry log +#log.error_handler = 'file' +## access log file +#log.access_file = '/tmp/ldapcherry_access.log' +## error and ldapcherry log file +#log.error_file = '/tmp/ldapcherry_error.log' + +##################################### +# configuration to log in syslog # +##################################### +# logger syslog for access log +#log.access_handler = 'syslog' +## logger syslog for error and ldapcherry log +log.error_handler = 'syslog' + +##################################### +# configuration to not log at all # +##################################### +# logger none for access log +log.access_handler = 'syslog' +# logger none for error and ldapcherry log +#log.error_handler = 'none' + +# log level +log.level = 'debug' + +# session configuration +# activate session +tools.sessions.on = True +# session timeout +tools.sessions.timeout = 10 +# file session storage(to use if multiple processes, +# default is in RAM and per process) +#tools.sessions.storage_type = "file" +# session +#tools.sessions.storage_path = "/var/lib/ldapcherry/sessions" + +[attributes] + +# file discribing form content +attributes.file = '/etc/ldapcherry/attributes.yml' + +[roles] + +# file listing roles +roles.file = '/etc/ldapcherry/roles.yml' + +[backends] + +ldap.module = 'ldapcherry.backend.backendLdap' +ldap.groupdn = 'ou=Group,dc=example,dc=org' +ldap.userdn = 'ou=people,dc=example,dc=org' +ldap.binddn = 'cn=dnscherry,dc=example,dc=org' +ldap.password = 'password' +ldap.uri = 'ldap://ldap.ldapcherry.org:390' +ldap.ca = '/etc/dnscherry/TEST-cacert.pem' +ldap.starttls = 'off' +ldap.checkcert = 'off' +ldap.user_filter_tmpl = '(uid=%(username)s)' +ldap.group_filter_tmpl = '(member=%(userdn)s)' +ldap.search_filter_tmpl = '(|(uid=%(searchstring)s*)(sn=%(searchstring)s*))' +ldap.group_attr.member = "%(dn)s" + +#ldap.objectclasses = 'top, person, organizationalPerson, user' +ldap.objectclasses = 'top, person, posixAccount, inetOrgPerson' +ldap.dn_user_attr = 'uid' +ldap.timeout = 1 + +ad.module = 'ldapcherry.backend.backendAD' +ad.domain = 'dc.ldapcherry.org' +ad.login = 'administrator' +ad.password = 'qwertyP455' +ad.uri = 'ldaps://ldap.ldapcherry.org:636' +ad.checkcert = 'off' + +# authentification parameters +[auth] + +# Auth mode +# * and: user must authenticate on all backends +# * or: user must authenticate on one of the backend +# * none: disable authentification +# * custom: custom authentification module (need auth.module param) +auth.mode = 'none' + +# custom auth module to load +#auth.module = 'ldapcherry.auth.modNone' + +[ppolicy] + +# password policy module +ppolicy.module = 'ldapcherry.ppolicy.simple' + +# parameters of the module +min_length = 2 +min_upper = 0 +min_digit = 0 + +# resources parameters +[resources] +# templates directory +templates.dir = './resources/templates/' + +[/static] +tools.staticdir.on = True +tools.staticdir.dir = './resources/static/' diff --git a/tests/test_env/etc/ldapcherry/roles.yml b/tests/test_env/etc/ldapcherry/roles.yml new file mode 100644 index 0000000..114359e --- /dev/null +++ b/tests/test_env/etc/ldapcherry/roles.yml @@ -0,0 +1,36 @@ +admin-lv3: + display_name: Administrators Level 3 + description: description + backends_groups: + ldap: + - cn=dns admins,ou=Group,dc=example,dc=org + - cn=nagios admins,ou=Group,dc=example,dc=org + - cn=puppet admins,ou=Group,dc=example,dc=org + - cn=users,ou=Group,dc=example,dc=org + ad: + - Administrators + - Domain Controllers + +admin-lv2: + display_name: Administrators Level 2 + description: description + LC_admins: True + backends_groups: + ldap: + - cn=nagios admins,ou=Group,dc=example,dc=org + - cn=users,ou=Group,dc=example,dc=org + +developpers: + display_name: Developpers + description: description + backends_groups: + ldap: + - cn=developpers,ou=Group,dc=example,dc=org + - cn=users,ou=Group,dc=example,dc=org + +users: + display_name: Simple Users + description: description + backends_groups: + ldap: + - cn=users,ou=Group,dc=example,dc=org