# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel none # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_mdb {% if not slapd.replica %} moduleload auditlog overlay auditlog auditlog /var/log/openldap/auditlog.log moduleload constraint overlay constraint constraint_attribute description regex {{ slapd.regex }} restrict=ldap:///ou=hosts,dc=ynerant,dc=fr??one?(objectClass=device) constraint_attribute uid regex ^ynerant restrict=ldap:///ou=passwd,dc=ynerant,dc=fr??one?(objectClass=posixAccount) moduleload syncprov {% endif %} # TLS Certificates #TLSCipherSuite HIGH:MEDIUM:-SSLv2:-SSLv3 #TLSCertificateFile /etc/ldap/ldap.pem #TLSCertificateKeyFile /etc/ldap/ldap.key # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 ####################################################################### # Specific Backend Directives for mdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend mdb ####################################################################### # Specific Backend Directives for 'other': # Backend specific directives apply to this backend until another # 'backend' directive occurs #backend ####################################################################### # Specific Directives for database #1, of type mdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database mdb # The base of your directory in database #1 suffix "dc=ynerant,dc=fr" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. rootdn "cn=admin,dc=ynerant,dc=fr" # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # The dbconfig settings are used to generate a DB_CONFIG file the first # time slapd starts. They do NOT override existing an existing DB_CONFIG # file. You should therefore change these settings in DB_CONFIG directly # or remove DB_CONFIG and restart slapd for changes to take effect. # For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM #dbconfig set_cachesize 0 2097152 0 # Sven Hartge reported that he had to set this value incredibly high # to get slapd running at all. See http://bugs.debian.org/303057 for more # information. # Number of objects that can be locked at the same time. #dbconfig set_lk_max_objects 1500 # Number of locks (both requested and granted) #dbconfig set_lk_max_locks 1500 # Number of lockers #dbconfig set_lk_max_lockers 1500 # Indexing options for database #1 index objectClass eq # Save the time that the entry gets modified, for database #1 lastmod on # Checkpoint the BerkeleyDB database periodically in case of system # failure and to speed slapd shutdown. checkpoint 512 30 {% if slapd.replica %} syncrepl rid={{ slapd.replica_rid }} provider=ldaps://{{ slapd.master_ip }}:636 bindmethod=simple binddn="cn=replicator,dc=ynerant,dc=fr" credentials={{ slapd.replication_credentials }} searchbase="dc=ynerant,dc=fr" scope=sub schemachecking=on type=refreshAndPersist timeout=0 network-timeout=0 retry="30 20 300 +" tls_reqcert=allow {% endif %} {% if slapd.replica %} # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,shadowLastChange by anonymous auth by * none # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by * read {% else %} overlay syncprov # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,shadowLastChange by anonymous auth by self write by set="[cn=admin,ou=group,dc=ynerant,dc=fr]/memberUid & user/uid" write by dn="cn=replicator,dc=ynerant,dc=fr" read by * none access to attrs=loginShell,mail,telephoneNumber by self write by set="[cn=admin,ou=group,dc=ynerant,dc=fr]/memberUid & user/uid" write by dn="cn=replicator,dc=ynerant,dc=fr" read by * read # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by set="[cn=admin,ou=group,dc=ynerant,dc=fr]/memberUid & user/uid" write by dn="cn=replicator,dc=ynerant,dc=fr" read by * read {% endif %} ####################################################################### # Specific Directives for database #2, of type 'other' (can be mdb too): # Database specific directives apply to this databasse until another # 'database' directive occurs #database # The base of your directory for database #2 #suffix "dc=debian,dc=org"