---
name: "kopano-ldap.cfg"
section: "5"
platform: "linux"
package: "kopano-server"
version: "8.7.0-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/kopano-ldap.cfg"
---

# kopano-ldap.cfg(5)

The Kopano LDAP configuration file

## NAME

kopano-ldap.cfg - The Kopano LDAP configuration file

## SYNOPSIS

**ldap.cfg**

## DESCRIPTION

The ldap.cfg is a configuration file for LDAP user plugin. All options to correctly retrieve user and group information can be set here.

## FILE FORMAT

The file consists of one big section, but parameters can be grouped by functionality.

The parameters are written in the form:

**name** = *value*

The file is line-based. Each newline-terminated line represents either a comment, nothing, a parameter or a directive. A line beginning with \`#' is considered a comment, and will be ignored by Kopano. Parameter names are case sensitive. Lines beginning with \`!' are directives.

Directives are written in the form:

!**directive** *\[argument(s)\]*

The following directives exist:

**include**

Include and process *argument*

Example: !include common.cfg

**propmap**

Propmap delivers the capabilities to map additional attributes to addressbook properties (e.g. firstname, lastname, telephonenumber).

In the propmap the configuration names must be the hex property tag of the requested property. The value given to the configuration name must be the LDAP attribute to which the property should be mapped.

Example: !propmap ldap.propmap.cfg

## EXPLANATION OF EACH PARAMETER

### ldap\_host, ldap\_port, ldap\_protocol

These historic directives specify a single LDAP server to use. Its use is discouraged in favor of **ldap\_uri**.

Defaults: ldap\_host=*localhost*, ldap\_port=*389*, ldap\_protocol=*ldap*

### ldap\_uri

Specifies the URI of one or more LDAP server(s) to use, without any DN portion, such as "**ldap://server:389/**", "**ldaps://server:636/**" or "**ldapi:///**". If **ldap\_uri** is set, the values of the historic directives **ldap\_host**, **ldap\_port** and **ldap\_protocol** are ignored.

Default: *(empty, such that URI list is constructed from ldap\_host, ldap\_port,* *ldap\_protocol)*

### ldap\_starttls

Request that any LDAP connections be secured with TLS, and reject the connection if this security cannot be established. See the OpenLDAP documentation for setting up ldap.cfg and TLS requirements.

Default: *no*

### ldap\_server\_charset

The charset that the LDAP server uses to store strings. All strings sent to the LDAP server or retrieved from the server will be interpreted in this charset. In most setups, utf-8 is used, but may also be iso-8859-15. All charsets supported by the system iconv() are supported here.

Default: *utf-8*

### ldap\_bind\_user

The bind dn as to connect to the LDAP server. Leave empty to connect anonymous.

Default value is empty.

### ldap\_bind\_passwd

When ldap\_bind\_user is a valid DN, this should be filled in too.

Default value is empty.

### ldap\_network\_timeout

The timeout for network operations in seconds.

Default: *30*

### ldap\_last\_modification\_attribute

This value is used to detect changes in the item in the LDAP server. Since it is a standard LDAP attribute, you should never have to change this. It is mainly used for addressbook synchronisation between your server and your offline data.

Default: *modifyTimeStamp*

### ldap\_page\_size

Limit result sets in pages of this size, downloading fewer results at a time from the LDAP server.

Default: *1000*

### ldap\_search\_base

This is the subtree entry where all objects are defined in the LDAP server.

Default: *dc=kopano,dc=com*

### ldap\_object\_type\_attribute

An object is defined by this attribute what type it is, e.g. user, group, etc. Every object type should have a unique value in this attribute in order to define what which entry is.

The value of this attribute must be specified in the ldap\_\*\_type\_attribute\_value settings. Each of those settings may specify multiple values for the type attribute, separated by comma's. All of these values must be present in the objects type attribute for a match to be made and the object to be recognised as that type.

It is possible for ambiguities to arise by setting the same string for multiple ldap\_\*\_type\_attribute\_value settings. This ambiguity will be resolved by preferring objects with more matching values. If the ambiguity cannot be resolved in this way, then the first possibility is chosen from the list (addresslist, tenant, dynamic group, group, contact, user).

Default: *objectClass*

### ldap\_user\_type\_attribute\_value

The value in **ldap\_object\_type\_attribute** which defines a user.

Default for OpenLDAP: *posixAccount*

Default for ADS: *user*

### ldap\_group\_type\_attribute\_value

The value in **ldap\_object\_type\_attribute** which defines a group.

Default for OpenLDAP: *posixGroup*

Default for ADS: *group*

### ldap\_contact\_type\_attribute\_value

The value in **ldap\_object\_type\_attribute** which defines a contact.

Default for OpenLDAP: *inetOrgPerson*

Default for ADS: *contact*

### ldap\_company\_type\_attribute\_value

The value in **ldap\_object\_type\_attribute** which defines a tenant. This option is only used in multi-tenancy installations.

Default for OpenLDAP: *organizationalUnit*

Default for ADS: *kopano-company*

### ldap\_addresslist\_type\_attribute\_value

The value in **ldap\_object\_type\_attribute** which defines an addresslist.

Default: *kopano-addresslist*

### ldap\_dynamicgroup\_type\_attribute\_value

The value in **ldap\_object\_type\_attribute** which defines a dynamic group.

Default: *kopano-dynamicgroup*

### ldap\_user\_search\_filter

Adds an extra filter to the user search.

Hint: Use the kopanoAccount attribute in the filter to differentiate between non-kopano and kopano users.

Default for OpenLDAP is empty.

Default for ADS: *(objectCategory=Person)*

### ldap\_user\_unique\_attribute

This is the unique attribute of a user which is never going to change, unless the user is removed from LDAP. When this value changes, Kopano will remove the previous user and store from the database, and create a new user with this unique value.

Default for OpenLDAP: *uidNumber*

Default for ADS: *objectGUID*

### ldap\_user\_unique\_attribute\_type

Contents type for the **ldap\_user\_unique\_attribute**. This value can be *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *binary*

### ldap\_fullname\_attribute

This value is the fullname of a user. It will be used on outgoing messages, and store names.

Default: *cn*

### ldap\_loginname\_attribute

This value is the loginname of a user. This is what the user uses to login on kopano. The DAgent will use this value to open the store of the user.

Default for OpenLDAP: *uid*

Default for ADS: *sAMAccountName*

### ldap\_password\_attribute

This value is the password of a user. When using **ldap\_authentication\_method** = *password*, this value will be checked. The **ldap\_bind\_user** should have enough access rights to read the password field.

Default for OpenLDAP: *userPassword*

Default for ADS: *unicodePwd*

### ldap\_authentication\_method

This value can be *bind* or *password*. When set to bind, the plugin will authenticate by opening a new connection to the LDAP server as the user with the given password. When set to password, the plugin will read and match the password field from the LDAP server itself. When set to password, the **ldap\_bind\_user** should have enough access rights to read the password field.

Default for OpenLDAP: *bind*

Default for ADS: *bind*

### ldap\_emailaddress\_attribute

This value is the email address of a user. It will be used to set the From on outgoing messages.

Default: *mail*

### ldap\_emailaliases\_attribute

This value is the email aliases of a user. It can be used to find extra valid email accounts for incoming email. These email addresses cannot be used for outgoing email.

Default: *kopanoAliases*

### ldap\_isadmin\_attribute

This value indicates if a user has administrator rights. 0 or not presents means no. 1 means yes. In multi-tenancy environment a value of 1 means that the user is administrator over his own tenant. A value of 2 means he is administrator over all companies within the environment.

Default: *kopanoAdmin*

### ldap\_nonactive\_attribute

This value indicates if a user is nonactive. Nonactive users cannot login, but the store can be used as a shared store for other users.

Setting this value to 1 will make a mailbox nonactive. The nonactive attribute provided by the Kopano schema for nonactive users is *kopanoSharedStoreOnly*

Default: *kopanoSharedStoreOnly*

### ldap\_resource\_type\_attribute

This attribute can change the type of a non-active user. The value of this attribute can be *room* or *equipment* to make it such a resource. If this attribute is not present, or not one of the previously described values, the user will be a normal non-active user.

Default: *kopanoResourceType*

### ldap\_resource\_capacity\_attribute

Resources often have a limited capacity. Use this attribute to control this value. user.

Default: *kopanoResourceCapacity*

### ldap\_sendas\_attribute

This attribute contains the list of users for which the user can use the sendas feature.

Default: *kopanoSendAsPrivilege*

### ldap\_sendas\_attribute\_type

Contents type for the **ldap\_sendas\_attribute** this value can be *dn*, *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *dn*

### ldap\_sendas\_relation\_attribute

This value is used to find the users in the sendas list.

Defaults to empty value, using the **ldap\_user\_unique\_attribute** setting. By using the DN, you can also add groups to the sendas list.

Default for OpenLDAP is empty.

Default for ADS: *distinguishedName*

### ldap\_user\_certificate\_attribute

The attribute which contains the user's public certificate to be used for encrypted S/MIME messages. Both Active Directory and OpenLDAP use the same ldap attribute by default. The format of the certificate should be the binary DER format.

Default: *userCertificate*

### ldap\_group\_search\_filter

Adds an extra filter to the group search.

Hint: Use the kopanoAccount attribute in the filter to differentiate between non-kopano and kopano groups.

Default for OpenLDAP is empty.

Default for ADS: *(objectCategory=Group)*

### ldap\_group\_unique\_attribute

This is the unique attribute of a group which is never going to change, unless the group is removed from LDAP. When this value changes, Kopano will remove the previous group from the database, and create a new group with this unique value.

Default for OpenLDAP: *gidNumber*

Default for ADS: *objectSid*

### ldap\_group\_unique\_attribute\_type

Contents type for the **ldap\_group\_unique\_attribute** this value can be *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *binary*

### ldap\_groupname\_attribute

This value is the name of a group.

Default: *cn*

### ldap\_groupmembers\_attribute

This value is the member list of a group.

Default for OpenLDAP: *memberUid*

Default for ADS: *member*

### ldap\_groupmembers\_attribute\_type

Contents type for the **ldap\_groupmembers\_attribute** this value can be *dn*, *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *dn*

### ldap\_groupmembers\_relation\_attribute

This value is used to find the users in a group if **ldap\_groupmembers\_attribute\_type** is *text*.

Defaults to empty value, using the **ldap\_user\_unique\_attribute** setting.

Default is empty.

### ldap\_group\_security\_attribute

If this attribute is present, you can make a group a security group. These groups can be used to place permissions on folders.

Default for OpenLDAP: *kopanoSecurityGroup*

Default for ADS: *groupType*

### ldap\_group\_security\_attribute\_type

The type of the **ldap\_group\_security\_attribute** is very different for ADS and OpenLDAP. The value of this option can be *boolean* or *ads*. The ads option only looks at the highest bit in the numeric value of the groupType attribute.

Default for OpenLDAP: *boolean*

Default for ADS: *ads*

### ldap\_company\_search\_filter

Add an extra filter to the tenant search.

Hint: Use the kopanoAccount attribute in the filter to differentiate between non-kopano and kopano companies.

Default for OpenLDAP is empty.

Default for ADS: *(objectCategory=Company)*

### ldap\_company\_unique\_attribute

This is the unique attribute of a tenant which is never going to change, unless the tenant is removed from LDAP. When this value changes, Kopano will remove the previous tenant from the database, and create a new tenant with this unique value.

Default for OpenLDAP: *ou*

Default for ADS: *objectSid*

### ldap\_company\_unique\_attribute\_type

Contents type for the **ldap\_company\_unique\_attribute** this value can be *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *binary*

### ldap\_companyname\_attribute

This value is the name of a tenant.

Default: *cn*

### ldap\_company\_view\_attribute

This attribute contains the list of tenants which can view the members of the tenant where this attribute is set on. tenants which are not listed in this attribute cannot see the presence of the tenant space itself nor its members.

Default: *kopanoViewPrivilege*

### ldap\_company\_view\_attribute\_type

Contents type for the **ldap\_company\_view\_attribute** this value can be *dn*, *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *dn*

### ldap\_company\_view\_relation\_attribute

The attribute of the tenant which is listed in **ldap\_company\_view\_attribute**.

Default: Empty, using the **ldap\_company\_unique\_attribute**

### ldap\_company\_admin\_attribute

This attribute contains the list of users outside of the selected tenant space who are administrator over the selected tenant space. Note that local users should not be listed as administrator here, those users need the **ldap\_isadmin\_attribute** attribute.

Default: *kopanoAdminPrivilege*

### ldap\_company\_admin\_attribute\_type

Contents type for the **ldap\_company\_admin\_attribute** this value can be *dn*, *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *dn*

### ldap\_company\_admin\_relation\_attribute

The attribute of the user which is listed in **ldap\_company\_admin\_attribute**.

Default: Empty, using the **ldap\_user\_unique\_attribute**

### ldap\_company\_system\_admin\_attribute

This attribute contains the user who acts as the system administrator of this tenatn space. This can either be a local user or a user from a different tenant space. At the moment this user is set as the sender of quota warning emails.

Default: *kopanoSystemAdmin*

### ldap\_company\_system\_admin\_attribute\_type

Contents type for the **ldap\_company\_system\_admin\_attribute** this value can be *dn*, *binary* or *text*.

Default for OpenLDAP: *text*

Default for ADS: *dn*

### ldap\_company\_system\_admin\_relation\_attribute

The attribute of the user which is listed in **ldap\_system\_admin\_attribute**.

Default: Empty, using the **ldap\_user\_unique\_attribute**

### ldap\_addresslist\_search\_filter

Add a filter to the addresslist search.

Hint: Use the kopanoAccount attribute in the filter to differentiate between non-kopano and kopano addresslists.

Default: *(objectClass=kopano-addresslist)*

### ldap\_addresslist\_unique\_attribute

This is the unique attribute of a addresslist which is never going to change, unless the addresslist is removed from LDAP. When this value changes, Kopano will remove the previous addresslist from the database, and create a new addresslist with this unique value.

Default: *cn*

### ldap\_addresslist\_unique\_attribute\_type

Contents type for the **ldap\_addresslist\_unique\_attribute** this value can be *dn*, *binary* or *text*. On LDAP this value should be *text*. On ADS this value should be *dn*

Default: *text*

### ldap\_addresslist\_filter\_attribute

This is the name of the attribute on the addresslist object that specifies the filter to be applied for this addresslist. All users matching this filter AND matching the default ldap\_user\_search\_filter will be included in the addresslist.

Default: *kopanoFilter*

### ldap\_addresslist\_search\_base\_attribute

This is the name of the attribute on the addresslist object that specifies the search base to be applied for this addresslist.

Default: *kopanoBase*

### ldap\_addresslist\_name\_attribute

The attribute containing the name of the addresslist

Default: *cn*

### ldap\_dynamicgroup\_search\_filter

Add an extra filter to the dynamicgroup search.

Hint: Use the kopanoAccount attribute in the filter to differentiate between non-kopano and kopano dynamic groups.

Default is empty.

### ldap\_dynamicgroup\_unique\_attribute

This is the unique attribute of a dynamicgroup which is never going to change, unless the dynamicgroup is removed from LDAP. When this value changes, Kopano will remove the previous dynamicgroup from the database, and create a new dynamicgroup with this unique value.

Default: *cn*

### ldap\_dynamicgroup\_unique\_attribute\_type

Contents type for the **ldap\_dynamicgroup\_unique\_attribute** this value can be *binary* or *text*. On LDAP this value should be *text*. On ADS this value should be *binary*

Default: *text*

### ldap\_dynamicgroup\_filter\_attribute

This is the name of the attribute on the dynamicgroup object that specifies the filter to be applied for this dynamicgroup. All users matching this filter AND matching the default search filters for objects will be included in the dynamicgroup.

Default: *kopanoFilter*

### ldap\_dynamicgroup\_search\_base\_attribute

This is the name of the attribute on the dynamicgroup object that specifies the search base to be applied for this dynamicgroup.

Default: *kopanoBase*

### ldap\_dynamicgroup\_name\_attribute

The attribute containing the name of the dynamicgroup.

Default: *cn*

### ldap\_quotaoverride\_attribute

Default: *kopanoQuotaOverride*

### ldap\_warnquota\_attribute

Default: *kopanoQuotaWarn*

### ldap\_softquota\_attribute

Default: *kopanoQuotaSoft*

### ldap\_hardquota\_attribute

Default: *kopanoQuotaHard*

### ldap\_userdefault\_quotaoverride\_attribute

Default: *kopanoUserDefaultQuotaOverride*

### ldap\_userdefault\_warnquota\_attribute

Default: *kopanoUserDefaultQuotaWarn*

### ldap\_userdefault\_softquota\_attribute

Default: *kopanoUserDefaultQuotaSoft*

### ldap\_userdefault\_hardquota\_attribute

Default: *kopanoUserDefaultQuotaHard*

### ldap\_quota\_multiplier

This value is used to multiply the quota values to bytes. When the values in LDAP are in Kb, use 1024 here.

Default: *1*

### ldap\_quota\_userwarning\_recipients\_attribute

This attribute contains the list of users who will receive an email when a user exceeds his quota. User who exceeds his quota will be automatically added to the recipients list, this list only indicates who else will be notified.

Default: *kopanoQuotaUserWarningRecipients*

### ldap\_quota\_userwarning\_recipients\_attribute\_type

Contents type for the **ldap\_quota\_userwarning\_recipients\_attribute** this value can be *dn*, *binary* or *text*. On LDAP this value should be *text*. On ADS this value should be *dn*

Default: *text*

### ldap\_quota\_userwarning\_recipients\_relation\_attribute

The attribute of the user which is listed in **ldap\_quota\_userwarning\_recipients\_attribute**

Default: Empty, using *ldap\_user\_unique\_attribute*

### ldap\_quota\_companywarning\_recipients\_attribute

This attribute contains the list of users who will receive an email when a tenant exceeds its quota. The system administrator of the tenant that is over quota will automatically be added to the recipients list, this list only indicates who else will be notified.

Default: *kopanoQuotaCompanyWarningRecipients*

### ldap\_quota\_companywarning\_recipients\_attribute\_type

Contents type for the **ldap\_quota\_companywarning\_recipients\_attribute** this value can be *dn*, *binary* or *text*. On LDAP this value should be *text*. On ADS this value should be *dn*

Default: *text*

### ldap\_quota\_companywarning\_recipients\_relation\_attribute

The attribute of the user which is listed in **ldap\_quota\_companywarning\_recipients\_attribute**

Default: Empty, using *ldap\_user\_unique\_attribute*

### ldap\_addressbook\_hide\_attribute

The attribute indicating the object must be hidden from the addressbook. The object will still be detected as kopano user and is allowed to login and work as regular kopano user, but will not be visible in the addressbook for other users.

Default: *kopanoHidden*

### ldap\_object\_search\_filter

When searching in the addressbook, this filter will be used. Normally, the storage server will only search in the unique attribute, loginname, fullname and emailaddress. You might want to search in more fields, like 'lastname'. Kopano also uses a postfix wildcard only. Using the '\*' wildcard with prefixes makes a search slower, but can return more results.

Hint: Use the kopanoAccount attribute in the filter to differentiate between non-kopano and kopano objects.

You can set a custom search filter here. '%s' will be replaced with the string being searched.

Active Directory has a shortcut for searching in the addressbook using the 'anr' attribute. This is recommended on ADS installations.

Default:

Recommended for ADS installations: *(anr=%s)*

Optional for OpenLDAP installations: *(\|(mail=%s\*)(uid=%s\*)(cn=\*%s\*)(fullname=\*%s\*)(givenname=\*%s\*)(lastname=\*%s\*)(sn=\*%s\*))*

### ldap\_filter\_cutoff\_elements

When the ldap plugin retrieves information from the LDAP Server, large queries can be created to retrieve data for multiple objects at once. These large queries can perform badly on some LDAP server implementations. This option limits the number of elements that can be retrieved in one search filter and therefore limits the size of the filter. Instead, a broader search filter is created which retrieves all objects from the LDAP server. This results in slightly higher processing overhead and network activity, but with the bonus that the query can be served by the LDAP server much faster (a factor of 40 in 5000-object queries has been observed).

Setting this value to 0 will never limit the filter, setting it to a value of 1 will always limit the filter (since all queries will be retrieving one or more objects).

Default: *1000*

## FILES

/etc/kopano/server.cfg

The server configuration file.

/etc/kopano/ldap.cfg

The Kopano LDAP configuration file.

## AUTHOR

Written by Kopano.

## SEE ALSO

[**kopano-server**(8)](/kopano-server/8.md), [**kopano-server.cfg**(5)](/kopano-server.cfg/5.md)
