Copyright 2021 Simon Quantrill, All Rights Reserved

Ldap sync

Tue 13 January 2015

Primary LDAP Server:

This is the main slapd configuration file. See slapd.conf(5) for more

info on the configuration options.

Global Directives:

Features to permit

allow bind_v2

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

custom additions BMT ARGOSS

include /etc/ldap/schema/zarafa.schema include /etc/ldap/schema/sendmail.schema

include /etc/ldap/schema/qmail.schema include /etc/ldap/schema/samba.schema

include /etc/ldap/schema/autofs.schema

include /etc/ldap/schema/ppolicy.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 0

loglevel config filter conns

loglevel stats

Where the dynamically loaded modules are stored

modulepath /usr/lib/ldap moduleload back_bdb moduleload syncprov.la moduleload ppolicy

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

SSL:

Uncomment the following lines to enable SSL and use the default

snakeoil certificates.

TLSCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem

TLSCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Specific Backend Directives for bdb:

Backend specific directives apply to this backend until another

backend’ directive occurs

backend bdb

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 bdb:

Database specific directives apply to this databasse until another

database’ directive occurs

database bdb

The base of your directory in database #1

suffix “dc=argoss,dc=nl”

checkpoint information

checkpoint 512 30

Where the database file are physically stored for database #1

directory “/var/lib/ldap”

Indexing options for database #1

index objectClass eq

Save the time that the entry gets modified, for database #1

lastmod on

root entry required for synchronization?

rootdn “cn=admin,dc=argoss,dc=nl” rootpw {SSHA}jaPOXC5aeR38VTb7vAUyt29podvCJOTG

Schema check allows for forcing entries to

match schemas for their objectClasses’s

LDAP doesn’t like this statement in this position -

try it in the replicate line later.

the manual page does NOT mention it anywhere else.

schemacheck on

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

New replicate config

index objectclass,entryCSN,entryUUID eq overlay syncprov syncprov-checkpoint 100 10 syncprov-sessionlog 100

User password lockout

overlay ppolicy ppolicy_default “cn=default,ou=policies,dc=argoss,dc=nl” ppolicy_use_lockout

Where to store the replica logs for database #1

the right password is “thispassword”

replica uri=ldap://bourbon.argoss.nl:389 binddn=”cn=replica,dc=argoss,dc=nl” bindmethod=simple credentials=

replogfile /var/lib/ldap/replog

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 by dn=”cn=admin,dc=argoss,dc=nl” write by anonymous auth by self write 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 dn=”cn=admin,dc=argoss,dc=nl” write by * read

Set for phpldap

access to dn=”cn=subschema” by * read

For Netscape Roaming support, each user gets a roaming

profile for which they have write access to

access to dn=”.*,ou=Roaming,o=morsnet”

by dn=”cn=admin,dc=argoss,dc=nl” write

by dnattr=owner write

Specific Directives for database #2, of type ‘other’ (can be bdb 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”

Secondary Server:

This is the main slapd configuration file. See slapd.conf(5) for more

info on the configuration options.

Global Directives:

Features to permit

allow bind_v2

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 include /etc/ldap/schema/qmail.schema include /etc/ldap/schema/zarafa.schema include /etc/ldap/schema/sendmail.schema

include /etc/ldap/schema/samba.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 5

Where the dynamically loaded modules are stored

modulepath /usr/lib/ldap moduleload back_bdb moduleload back_hdb moduleload syncprov.la

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 hdb:

Backend specific directives apply to this backend until another

backend’ directive occurs

backend hdb

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 hdb:

Database specific directives apply to this databasse until another

database’ directive occurs

database hdb

The base of your directory in database #1

suffix “dc=argoss,dc=nl”

rootdn directive for specifying a superuser on the database. This is needed

for syncrepl.

rootdn “dc=argoss,dc=nl”

Where the database file are physically stored for database #1

directory “/var/lib/ldap”

replication settings

index objectclass,entryCSN,entryUUID eq

syncrepl rid=123 provider=ldap://mariner.argoss.nl:389 type=refreshOnly interval=00:00:05:00 searchbase=”dc=argoss,dc=nl”

filter=”(objectClass=organizationalPerson)”

filter=”(objectClass=inetOrgPerson)” scope=sub #attrs=”cn,sn,ou,telephoneNumber,title,l” attrs=”cn,ou,loginshell,mail,gidNumber,homeDirectory,uidNumber,givenName,sn,uid,l” schemachecking=off bindmethod=simple

binddn=”userid=replica,dc=argoss,dc=nl”

binddn=”cn=replica,dc=argoss,dc=nl” credentials=bmtargoss123

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

updatedn “cn=replica,dc=argoss,dc=nl”

updateref ldap://mariner.argoss.nl

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

Where to store the replica logs for database #1

replogfile /var/lib/ldap/replog

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 dn=”cn=admin,dc=argoss,dc=nl” write by anonymous auth by self write 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 dn=”cn=admin,dc=argoss,dc=nl” write by dn=”cn=replica,dc=argoss,dc=nl” write by * read

For Netscape Roaming support, each user gets a roaming

profile for which they have write access to

access to dn=”.*,ou=Roaming,o=morsnet”

by dn=”cn=admin,dc=argoss,dc=nl” write

by dnattr=owner write

Specific Directives for database #2, of type ‘other’ (can be hdb 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”

on the top

Comments