#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#

include		/etc/openldap/schema/corba.schema
include		/etc/openldap/schema/core.schema
include		/etc/openldap/schema/cosine.schema
include		/etc/openldap/schema/duaconf.schema
include		/etc/openldap/schema/dyngroup.schema
include		/etc/openldap/schema/inetorgperson.schema
include		/etc/openldap/schema/java.schema
include		/etc/openldap/schema/misc.schema
include		/etc/openldap/schema/nis.schema
include		/etc/openldap/schema/openldap.schema
include		/etc/openldap/schema/ppolicy.schema
include		/etc/openldap/schema/collective.schema
include		/etc/openldap/schema/microsoft.minimal.schema

# Allow LDAPv2 client connections.  This is NOT the default.
#allow bind_v2

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral	ldap://root.openldap.org

pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args

# Load dynamic backend modules
# - modulepath is architecture dependent value (32/64-bit system)
# - back_sql.la overlay requires openldap-server-sql package
# - dyngroup.la and dynlist.la cannot be used at the same time

# modulepath /usr/lib/openldap
# modulepath /usr/lib64/openldap

# moduleload accesslog.la
# moduleload auditlog.la
# moduleload back_sql.la
# moduleload chain.la
# moduleload collect.la
# moduleload constraint.la
# moduleload dds.la
# moduleload deref.la
# moduleload dyngroup.la
# moduleload dynlist.la
# moduleload memberof.la
# moduleload pbind.la
# moduleload pcache.la
# moduleload ppolicy.la
# moduleload refint.la
# moduleload retcode.la
# moduleload rwm.la
# moduleload seqmod.la
# moduleload smbk5pwd.la
# moduleload sssvlv.la
# moduleload syncprov.la
# moduleload translucent.la
# moduleload unique.la
# moduleload valsort.la

# The next three lines allow use of TLS for encrypting connections using a
# dummy test certificate which you can generate by running
# /usr/libexec/openldap/generate-server-cert.sh. Your client software may balk
# at self-signed certificates, however.
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password

# Sample security restrictions
#	Require integrity protection (prevent hijacking)
#	Require 112-bit (3DES or better) encryption for updates
#	Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
#	Root DSE: allow anyone to read it
#	Subschema (sub)entry DSE: allow anyone to read it
#	Other DSEs:
#		Allow self write access
#		Allow authenticated users read access
#		Allow anonymous users to authenticate
#	Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
#	by self write
#	by users read
#	by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

access to attrs=userPassword
    by anonymous auth
    by * none

#access to *
#    by self write
#    by * none

access to *
	by dn="cn=man,OU=Russia,OU=International Users,DC=corp,DC=emc,DC=com" write
	by * none

# enable on-the-fly configuration (cn=config)
database config
access to *
	by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
	by * none

# enable server status monitoring (cn=monitor)
database monitor
access to *
	by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
	by dn.exact="cn=man,OU=Russia,OU=International Users,DC=corp,DC=emc,DC=com" read
	by * none

#######################################################################
# database definitions
#######################################################################
database	ldap
suffix		"OU=RU St Petersburg,OU=Russia,OU=International Users,DC=corp,DC=emc,DC=com"
subordinate
uri		ldap://appauth.corp.emc.com
readonly	yes
chase-referrals	no
#rebind-as-user
idassert-bind	bindmethod=simple
		binddn="CN=IntService\\, Schedule,OU=Service Accounts,OU=International Security,DC=corp,DC=emc,DC=com"
		credentials=PuL2CcLBgObpE
		mode=none
		flags=non-prescriptive
idassert-authzFrom "*"
#norefs	yes
#overlay rwm
#rwm-suffixmassage   dc=corp,dc=emc,dc=com
#rwm-map		attribute	uid		sAMAccountName
#rwm-map		objectclass	inetOrgPerson	user
#rwm-map		attribute	displayName	displayName
#rwm-map		attribute	givenName	givenName
#rwm-map		attribute	sn		sn
#rwm-map		attribute	mail		mail
#rwm-map		attribute	userPassword	userPassword
#rwm-map		attribute	*

database	bdb
suffix		"OU=Russia,OU=International Users,DC=corp,DC=emc,DC=com"
checkpoint	1024 15
rootdn		"cn=man,OU=Russia,OU=International Users,DC=corp,DC=emc,DC=com"
rootpw		{crypt}$1$TOcX$GJ1HCDKcUKoIUL2tO6N6t/
directory	/var/lib/ldap

# Indices to maintain for this database
index	objectClass			eq,pres
index	ou,cn,mail,surname,givenname	eq,pres,sub
index	uidNumber,gidNumber,loginShell	eq,pres
index	uid,memberUid			eq,pres,sub
index	nisMapName,nisMapEntry		eq,pres,sub

