2014-06-02 23:10:19 +02:00
|
|
|
# global parameters
|
|
|
|
[global]
|
|
|
|
|
|
|
|
# listing interface
|
|
|
|
server.socket_host = '127.0.0.1'
|
|
|
|
# port
|
|
|
|
server.socket_port = 8080
|
2017-06-09 23:24:20 +02:00
|
|
|
|
|
|
|
# it's also possible to run bound to a unix socket
|
|
|
|
#server.socket_file = '/tmp/lc.sock'
|
|
|
|
|
2014-06-02 23:10:19 +02:00
|
|
|
# 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'
|
|
|
|
|
2019-02-10 18:12:45 +01:00
|
|
|
#####################################
|
|
|
|
# configuration to log to stdout #
|
|
|
|
#####################################
|
|
|
|
## logger stdout for access log
|
|
|
|
#log.access_handler = 'stdout'
|
|
|
|
## logger stdout for error and ldapcherry log
|
|
|
|
#log.error_handler = 'stdout'
|
|
|
|
|
2014-06-02 23:10:19 +02:00
|
|
|
#####################################
|
|
|
|
# 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 = 'none'
|
|
|
|
# logger none for error and ldapcherry log
|
|
|
|
#log.error_handler = 'none'
|
|
|
|
|
|
|
|
# log level
|
|
|
|
log.level = 'info'
|
|
|
|
|
|
|
|
# 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"
|
|
|
|
|
2015-04-26 09:40:50 +02:00
|
|
|
[attributes]
|
|
|
|
|
|
|
|
# file discribing form content
|
|
|
|
attributes.file = '/etc/ldapcherry/attributes.yml'
|
|
|
|
|
|
|
|
[roles]
|
|
|
|
|
|
|
|
# file listing roles
|
|
|
|
roles.file = '/etc/ldapcherry/roles.yml'
|
2014-06-02 23:10:19 +02:00
|
|
|
|
2015-04-15 20:13:56 +02:00
|
|
|
[backends]
|
2014-06-02 23:10:19 +02:00
|
|
|
|
2015-06-28 11:41:36 +02:00
|
|
|
#####################################
|
|
|
|
# configuration of ldap backend #
|
|
|
|
#####################################
|
|
|
|
|
2015-06-15 07:27:32 +02:00
|
|
|
# name of the module
|
2015-05-21 08:53:58 +02:00
|
|
|
ldap.module = 'ldapcherry.backend.backendLdap'
|
2015-07-31 20:08:21 +02:00
|
|
|
# display name of the ldap
|
|
|
|
ldap.display_name = 'My Ldap Directory'
|
2015-06-15 07:27:32 +02:00
|
|
|
|
|
|
|
# uri of the ldap directory
|
2015-06-28 11:41:36 +02:00
|
|
|
ldap.uri = 'ldap://ldap.ldapcherry.org'
|
2015-06-15 07:27:32 +02:00
|
|
|
# ca to use for ssl/tls connexion
|
2015-06-28 11:41:36 +02:00
|
|
|
#ldap.ca = '/etc/dnscherry/TEST-cacert.pem'
|
2015-06-15 07:27:32 +02:00
|
|
|
# use start tls
|
2015-06-28 11:41:36 +02:00
|
|
|
#ldap.starttls = 'off'
|
2015-06-15 07:27:32 +02:00
|
|
|
# check server certificate (for tls)
|
2015-06-28 11:41:36 +02:00
|
|
|
#ldap.checkcert = 'off'
|
2015-06-15 07:27:32 +02:00
|
|
|
# bind dn to the ldap
|
2015-06-28 11:41:36 +02:00
|
|
|
ldap.binddn = 'cn=dnscherry,dc=example,dc=org'
|
2015-06-15 07:27:32 +02:00
|
|
|
# password of the bind dn
|
|
|
|
ldap.password = 'password'
|
|
|
|
# timeout of ldap connexion (in second)
|
|
|
|
ldap.timeout = 1
|
|
|
|
|
|
|
|
# groups dn
|
2015-06-28 11:41:36 +02:00
|
|
|
ldap.groupdn = 'ou=group,dc=example,dc=org'
|
2015-06-15 07:27:32 +02:00
|
|
|
# users dn
|
|
|
|
ldap.userdn = 'ou=people,dc=example,dc=org'
|
2019-02-12 23:06:42 +01:00
|
|
|
|
2019-02-13 09:44:47 +01:00
|
|
|
# ldapsearch filter to get one specific user
|
|
|
|
# %(username)s is content of the attribute marked 'key: True' in the attributes.file config file
|
2015-05-21 21:40:13 +02:00
|
|
|
ldap.user_filter_tmpl = '(uid=%(username)s)'
|
2015-06-15 07:27:32 +02:00
|
|
|
# ldapsearch filter to get groups of a user
|
2019-02-13 09:44:47 +01:00
|
|
|
# %(username)s is content of the attribute marked 'key: True' in the attributes.file config file
|
2015-06-28 11:41:36 +02:00
|
|
|
ldap.group_filter_tmpl = '(member=uid=%(username)s,ou=People,dc=example,dc=org)'
|
2015-06-15 07:27:32 +02:00
|
|
|
# filter to search users
|
2019-02-13 09:44:47 +01:00
|
|
|
# %(searchstring)s is the content passed through the search box
|
2015-05-25 19:30:41 +02:00
|
|
|
ldap.search_filter_tmpl = '(|(uid=%(searchstring)s*)(sn=%(searchstring)s*))'
|
2015-06-15 07:27:32 +02:00
|
|
|
|
|
|
|
# ldap group attributes and how to fill them
|
2019-02-12 23:06:42 +01:00
|
|
|
# 'member' is the name of the attribute
|
|
|
|
# for the template, any of the user's ldap attributes can be user
|
2015-06-28 11:41:36 +02:00
|
|
|
ldap.group_attr.member = "%(dn)s"
|
2019-02-12 23:06:42 +01:00
|
|
|
# same with memverUid and the uid user's attribute
|
2015-06-28 11:41:36 +02:00
|
|
|
#ldap.group_attr.memberUid = "%(uid)s"
|
2019-02-12 23:06:42 +01:00
|
|
|
|
2015-06-15 07:27:32 +02:00
|
|
|
# object classes of a user entry
|
2015-06-28 11:41:36 +02:00
|
|
|
ldap.objectclasses = 'top, person, posixAccount, inetOrgPerson'
|
2015-06-15 07:27:32 +02:00
|
|
|
# dn entry attribute for an ldap user
|
2015-05-26 00:33:36 +02:00
|
|
|
ldap.dn_user_attr = 'uid'
|
2015-05-20 17:13:18 +02:00
|
|
|
|
2015-06-28 11:41:36 +02:00
|
|
|
#####################################
|
|
|
|
# configuration of ad backend #
|
|
|
|
#####################################
|
2015-07-28 23:49:07 +02:00
|
|
|
|
|
|
|
## Name of the backend
|
|
|
|
#ad.module = 'ldapcherry.backend.backendAD'
|
2015-07-31 20:08:21 +02:00
|
|
|
## display name of the ldap
|
2016-06-16 09:23:56 +02:00
|
|
|
#ad.display_name = 'My Active Directory'
|
2015-07-28 23:49:07 +02:00
|
|
|
## ad domain
|
|
|
|
#ad.domain = 'dc.ldapcherry.org'
|
|
|
|
## ad login
|
|
|
|
#ad.login = 'administrator'
|
|
|
|
## ad password
|
|
|
|
#ad.password = 'qwertyP455'
|
|
|
|
## ad uri
|
|
|
|
#ad.uri = 'ldap://ldap.ldapcherry.org'
|
|
|
|
|
|
|
|
## ca to use for ssl/tls connexion
|
|
|
|
#ad.ca = '/etc/dnscherry/TEST-cacert.pem'
|
|
|
|
## use start tls
|
|
|
|
#ad.starttls = 'off'
|
|
|
|
## check server certificate (for tls)
|
|
|
|
#ad.checkcert = 'off'
|
2014-06-02 23:10:19 +02:00
|
|
|
|
2015-11-05 01:22:21 +01:00
|
|
|
#####################################
|
|
|
|
# configuration of demo backend #
|
|
|
|
#####################################
|
|
|
|
|
|
|
|
## Name of the backend
|
|
|
|
#demo.module = 'ldapcherry.backend.backendDemo'
|
|
|
|
## Display name of the Backend
|
|
|
|
#demo.display_name = 'Demo Backend'
|
|
|
|
## Groups of admin user
|
|
|
|
#demo.admin.groups = 'DnsAdmins'
|
|
|
|
## Groups of basic user
|
|
|
|
#demo.basic.groups = 'Test 2, Test 1'
|
|
|
|
## Password attribute name
|
|
|
|
#demo.pwd_attr = 'userPassword'
|
|
|
|
## Attribute to use for the search
|
|
|
|
#demo.search_attributes = 'cn, sn, givenName, uid'
|
|
|
|
## Login of default admin user
|
|
|
|
#demo.admin.user = 'admin'
|
|
|
|
## Password of default admin user
|
|
|
|
#demo.admin.password = 'admin'
|
|
|
|
## Login of default basic user
|
|
|
|
#demo.basic.user = 'user'
|
|
|
|
## Password of default basic user
|
|
|
|
#demo.basic.password = 'user'
|
|
|
|
|
2015-07-01 08:58:23 +02:00
|
|
|
[ppolicy]
|
|
|
|
|
|
|
|
# password policy module
|
|
|
|
ppolicy.module = 'ldapcherry.ppolicy.simple'
|
|
|
|
|
|
|
|
# parameters of the module
|
|
|
|
min_length = 8
|
|
|
|
min_upper = 1
|
|
|
|
min_digit = 1
|
|
|
|
|
2015-04-15 20:13:56 +02:00
|
|
|
# authentification parameters
|
|
|
|
[auth]
|
2014-06-02 23:10:19 +02:00
|
|
|
|
2015-04-15 20:13:56 +02:00
|
|
|
# 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 = 'or'
|
2014-06-02 23:10:19 +02:00
|
|
|
|
2015-04-15 20:13:56 +02:00
|
|
|
# custom auth module to load
|
|
|
|
#auth.module = 'ldapcherry.auth.modNone'
|
2014-06-02 23:10:19 +02:00
|
|
|
|
2015-04-26 09:40:50 +02:00
|
|
|
# resources parameters
|
|
|
|
[resources]
|
|
|
|
# templates directory
|
2015-05-18 19:56:44 +02:00
|
|
|
templates.dir = '/usr/share/ldapcherry/templates/'
|
2015-04-26 09:40:50 +02:00
|
|
|
|
2014-06-02 23:10:19 +02:00
|
|
|
[/static]
|
2015-08-05 20:03:17 +02:00
|
|
|
# enable serving static file through ldapcherry
|
|
|
|
# set to False if files served directly by an
|
|
|
|
# http server for better performance
|
2014-06-02 23:10:19 +02:00
|
|
|
tools.staticdir.on = True
|
2015-08-05 20:03:17 +02:00
|
|
|
# static resources directory (js, css, images...)
|
2015-06-28 23:26:47 +02:00
|
|
|
tools.staticdir.dir = '/usr/share/ldapcherry/static/'
|
2015-08-05 20:03:17 +02:00
|
|
|
|
|
|
|
## custom javascript files
|
|
|
|
#[/custom]
|
|
|
|
#
|
|
|
|
## enable serving static file through ldapcherry
|
|
|
|
## set to False if files served directly by an
|
|
|
|
## http server for better performance
|
|
|
|
#tools.staticdir.on = True
|
|
|
|
|
|
|
|
## path to directory containing js files
|
|
|
|
## use it to add custom auto-fill functions
|
|
|
|
#tools.staticdir.dir = '/etc/ldapcherry/custom_js/'
|