ldap.m4 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. dnl m4 defines:
  2. dnl TYPE == OPENLDAP or ADS
  3. dnl
  4. ##############################################################
  5. # LDAP/ACTIVE DIRECTORY USER PLUGIN SETTINGS
  6. #
  7. # Any of these directives that are required, are only required if the
  8. # userplugin parameter is set to ldap.
  9. # When an object (user/group/company) is changed, this attribute will also change:
  10. # Active directory: uSNChanged
  11. # LDAP: modifyTimestamp
  12. ldap_last_modification_attribute = ifelse(TYPE,`OPENLDAP',`modifyTimestamp',`uSNChanged')
  13. ##########
  14. # Object settings
  15. # attribute name which is/(should: was) used in ldap_user_search_filter
  16. ldap_object_type_attribute = objectClass
  17. ldap_user_type_attribute_value = ifelse(TYPE,`OPENLDAP',`posixAccount',`user')
  18. ldap_group_type_attribute_value = ifelse(TYPE,`OPENLDAP',`posixGroup',`group')
  19. ldap_contact_type_attribute_value = ifelse(TYPE,`OPENLDAP',`kopano-contact',`contact')
  20. ldap_company_type_attribute_value = organizationalUnit
  21. ldap_addresslist_type_attribute_value = ifelse(TYPE,`OPENLDAP',`kopano-addresslist',`kopanoAddresslist')
  22. ldap_dynamicgroup_type_attribute_value = ifelse(TYPE,`OPENLDAP',`kopano-dynamicgroup',`kopanoDynamicGroup')
  23. ldap_server_type_attribute_value = ifelse(TYPE,`OPENLDAP',`ipHost',`computer')
  24. ##########
  25. # There should be no need to edit any values below this line
  26. ##########
  27. ##########
  28. # User settings
  29. # Extra search for users using this LDAP filter. See ldap_search(3) or RFC
  30. # 2254 for details on the filter syntax.
  31. #
  32. # Hint: Use the kopanoAccount attribute in the filter to differentiate
  33. # between non-kopano and kopano users.
  34. #
  35. # Note: This filter should include contacts.
  36. #
  37. # Optional, default = empty (match everything)
  38. # For active directory, use:
  39. # (objectCategory=Person)
  40. # For LDAP with posix users:
  41. # no need to use the search filter.
  42. ldap_user_search_filter = ifelse(TYPE,`OPENLDAP',`',`(objectCategory=Person)')
  43. # unique user id for find the user
  44. # Required
  45. # For active directory, use:
  46. # objectGuid ** WARNING: This WAS: objectSid ** Updates *WILL* fail! **
  47. # For LDAP with posixAccount, use:
  48. # uidNumber
  49. ifelse(TYPE,`OPENLDAP',`dnl
  50. # Note: contacts also use this field for uniqueness. If you change this,
  51. # you might need to update the kopano.schema file too, and change
  52. # the MUST uidNumber to whatever you set here.')dnl
  53. ldap_user_unique_attribute = ifelse(TYPE,`OPENLDAP',`uidNumber',`objectGuid')
  54. # Type of unique user id
  55. # default: text
  56. # For active directory, use:
  57. # binary
  58. # For LDAP with posix user, use:
  59. # text
  60. ldap_user_unique_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`binary')
  61. # Optional, default = cn
  62. # For active directory, use:
  63. # cn or displayName
  64. # For LDAP with posix user, use:
  65. # cn
  66. ldap_fullname_attribute = ifelse(TYPE,`OPENLDAP',`cn',`cn')
  67. # Optional, default = uid
  68. # Active directory: sAMAccountName
  69. # LDAP: uid
  70. ldap_loginname_attribute = ifelse(TYPE,`OPENLDAP',`uid',`sAMAccountName')
  71. # Optional, default = userPassword
  72. # Active directory: unicodePwd
  73. # LDAP: userPassword
  74. ldap_password_attribute = ifelse(TYPE,`OPENLDAP',`userPassword',`unicodePwd')
  75. # If set to bind, users are authenticated by trying to bind to the
  76. # LDAP tree using their username + password. Otherwise, the
  77. # ldap_password_attribute is requested and checked.
  78. # Optional, default = bind
  79. # Choices: bind, password
  80. # Active directory: bind
  81. # LDAP: bind
  82. ldap_authentication_method = bind
  83. # Optional, default = mail
  84. # Active directory: mail
  85. # LDAP: mail
  86. ldap_emailaddress_attribute = mail
  87. # Optional, default = kopanoAliases
  88. # Active directory: kopanoAliases
  89. # LDAP: kopanoAliases
  90. ldap_emailaliases_attribute = ifelse(TYPE,`OPENLDAP',`kopanoAliases',`otherMailbox')
  91. # Whether the user is an admin. The field is interpreted as a
  92. # boolean, 0 and false (case insensitive) meaning no, all other values
  93. # yes.
  94. # Optional, default = kopanoAdmin
  95. # Active directory: kopanoAdmin
  96. # LDAP: kopanoAdmin
  97. ldap_isadmin_attribute = kopanoAdmin
  98. # Whether a user is a non-active user. This means that the user will
  99. # not count towards your user count, but the user will also not be
  100. # able to log in
  101. # Optional, default = kopanoSharedStoreOnly
  102. # Active directory: kopanoSharedStoreOnly
  103. # LDAP: kopanoSharedStoreOnly
  104. ldap_nonactive_attribute = kopanoSharedStoreOnly
  105. # A nonactive store, or resource, can be specified to be a user, room or equipment.
  106. # Set it to 'room' or 'equipment' to make such types. If set to empty,
  107. # or wrong word, or 'user' it will be a nonactive user.
  108. # Optional, default = kopanoResourceType
  109. # Active directory: kopanoResourceType
  110. # LDAP: kopanoResourceType
  111. ldap_resource_type_attribute = kopanoResourceType
  112. # Numeric resource capacity
  113. # Optional, default = kopanoResourceCapacity
  114. # Active directory: kopanoResourceCapacity
  115. # LDAP: kopanoResourceCapacity
  116. ldap_resource_capacity_attribute = kopanoResourceCapacity
  117. # Optional
  118. # The attribute which indicates which users are allowed
  119. # to send on behalf of the selected user
  120. ldap_sendas_attribute = kopanoSendAsPrivilege
  121. # Optional, default = text
  122. # Active directory: dn
  123. # LDAP: text
  124. ldap_sendas_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`dn')
  125. # The attribute of the user and group which is listed in
  126. # the ldap_sendas_attribute
  127. # Empty default, using ldap_user_unique_attribute
  128. ldap_sendas_relation_attribute = ifelse(TYPE,`OPENLDAP',`',`distinguishedName')
  129. # Optional, default = userCertificate
  130. # Active directory: userCertificate
  131. # LDAP: userCertificate;binary
  132. ldap_user_certificate_attribute = userCertificate`'ifelse(TYPE,`OPENLDAP',`;binary',`')
  133. # Load extra user properties from the propmap file
  134. !propmap /usr/share/kopano/ldap.propmap.cfg
  135. ##########
  136. # Group settings
  137. # Search for groups using this LDAP filter. See ldap_search(3) for
  138. # details on the filter syntax.
  139. # Hint: Use the kopanoAccount attribute in the filter to differentiate
  140. # between non-kopano and kopano groups.
  141. # Optional, default = empty (match everything)
  142. # For active directory, use:
  143. # (objectCategory=Group)
  144. # For LDAP with posix groups, use:
  145. # no need to set the search filter
  146. ldap_group_search_filter = ifelse(TYPE,`OPENLDAP',`',`(objectCategory=Group)')
  147. # unique group id for find the group
  148. # Required
  149. # For active directory, use:
  150. # objectSid
  151. # For LDAP with posix group, use:
  152. # gidNumber
  153. ldap_group_unique_attribute = ifelse(TYPE,`OPENLDAP',`gidNumber',`objectSid')
  154. # Type of unique group id
  155. # default: text
  156. # For active directory, use:
  157. # binary
  158. # For LDAP with posix group, use:
  159. # text
  160. ldap_group_unique_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`binary')
  161. # Optional, default = cn
  162. # Active directory: cn
  163. # LDAP: cn
  164. ldap_groupname_attribute = cn
  165. # Optional, default = member
  166. # Active directory: member
  167. # LDAP: memberUid
  168. ldap_groupmembers_attribute = ifelse(TYPE,`OPENLDAP',`memberUid',`member')
  169. # Optional, default = text
  170. # Active directory: dn
  171. # LDAP: text
  172. ldap_groupmembers_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`dn')
  173. # The attribute of the user which is listed in ldap_groupmember_attribute
  174. # Active directory: empty, matching dn's
  175. # LDAP: uid, matching users in ldap_loginname_attribute
  176. ldap_groupmembers_relation_attribute = ifelse(TYPE,`OPENLDAP',`uid',`')
  177. # A group can also be used for security, eg. setting permissions on folders.
  178. # This makes a group a security group. The kopanoSecurityGroup value is boolean.
  179. # Optional, default = kopanoSecurityGroup
  180. # Active directory = groupType
  181. # LDAP: kopanoSecurityGroup
  182. ldap_group_security_attribute = ifelse(TYPE,`OPENLDAP',`kopanoSecurityGroup',`groupType')
  183. # In ADS servers, a special bitmask action is required on the groupType field.
  184. # This is actived by setting the ldap_group_security_attribute_type to `''ads`''
  185. # Otherwise, just the presence of the field will make the group security enabled.
  186. # Optional, default = boolean
  187. # Active directory = ads
  188. # LDAP: boolean
  189. ldap_group_security_attribute_type = ifelse(TYPE,`OPENLDAP',`boolean',`ads')
  190. ##########
  191. # Company settings
  192. # Search for companies using this LDAP filter.
  193. # Hint: Use the kopanoAccount attribute in the filter to differentiate
  194. # between non-kopano and kopano companies.
  195. # Optional, default = empty (match everything)
  196. # For active directory, use:
  197. # (objectCategory=Company)
  198. # For LDAP with posix users, use:
  199. # no need to set the filter
  200. ldap_company_search_filter =
  201. # unique company id for find the company
  202. # Active directory: objectGUID
  203. # LDAP: ou
  204. ldap_company_unique_attribute = ifelse(TYPE,`OPENLDAP',`ou',`objectGUID')
  205. # Optional, default = text
  206. # Active directory: binary
  207. # LDAP: text
  208. ldap_company_unique_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`binary')
  209. # Optional, default = ou
  210. # Active directory: ou
  211. # LDAP: ou
  212. ldap_companyname_attribute = ou
  213. # Optional
  214. # The attribute which indicates which companies are allowed
  215. # to view the members of the selected company
  216. ldap_company_view_attribute = kopanoViewPrivilege
  217. # Optional, default = text
  218. ldap_company_view_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`dn')
  219. # The attribute of the company which is listed in the
  220. # ldap_company_view_attribute
  221. # Empty default, using ldap_company_unique_attribute
  222. ldap_company_view_relation_attribute =
  223. # Optional
  224. # The attribute which indicates which users from different companies
  225. # are administrator over the selected company.
  226. ldap_company_admin_attribute = kopanoAdminPrivilege
  227. # Optional, default = text
  228. # Active directory: dn
  229. # LDAP: text
  230. ldap_company_admin_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`dn')
  231. # The attribute of the company which is listed in the
  232. # ldap_company_admin_attribute
  233. # Empty default, using ldap_user_unique_attribute
  234. ldap_company_admin_relation_attribute =
  235. # The attribute which indicates which user is the system administrator
  236. # for the specified company.
  237. ldap_company_system_admin_attribute = kopanoSystemAdmin
  238. # Optional, default = text
  239. # Active directory: dn
  240. # LDAP: text
  241. ldap_company_system_admin_attribute_type = ifelse(TYPE,`OPENLDAP',`text',`dn')
  242. # The attribute of the company which is listed in the
  243. # ldap_company_system_admin attribute
  244. # Empty default, using ldap_user_unique_attribute
  245. ldap_company_system_admin_relation_attribute =
  246. ##########
  247. # Addresslist settings
  248. # Add a filter to the addresslist search
  249. # Hint: Use the kopanoAccount attribute in the filter to differentiate
  250. # between non-kopano and kopano addresslists.
  251. # Optional, default = empty (match everything)
  252. ldap_addresslist_search_filter =
  253. # This is the unique attribute of a addresslist which is never going
  254. # to change, unless the addresslist is removed from LDAP. When this
  255. # value changes, Kopano will remove the previous addresslist from the
  256. # database, and create a new addresslist with this unique value
  257. ldap_addresslist_unique_attribute = cn
  258. # This value can be 'text' or 'binary'. For OpenLDAP, only text is used.
  259. ldap_addresslist_unique_attribute_type = text
  260. # This is the name of the attribute on the addresslist object that
  261. # specifies the filter to be applied for this addresslist. All users
  262. # matching this filter AND matching the default
  263. # ldap_user_search_filter will be included in the addresslist
  264. ldap_addresslist_filter_attribute = kopanoFilter
  265. # This is the name of the attribute on the addresslist object that
  266. # specifies the search base to be applied for this addresslist.
  267. ldap_addresslist_search_base_attribute = kopanoBase
  268. # The attribute containing the name of the addresslist
  269. ldap_addresslist_name_attribute = cn
  270. ##########
  271. # Dynamicgroup settings
  272. # Add a filter to the dynamicgroup search
  273. # Hint: Use the kopanoAccount attribute in the filter to differentiate
  274. # between non-kopano and kopano dynamic groups.
  275. # Optional, default = empty (match everything)
  276. ldap_dynamicgroup_search_filter =
  277. # This is the unique attribute of a dynamicgroup which is never going
  278. # to change, unless the dynamicgroup is removed from LDAP. When this
  279. # value changes, Kopano will remove the previous dynamicgroup from the
  280. # database, and create a new dynamicgroup with this unique value
  281. ldap_dynamicgroup_unique_attribute = cn
  282. # This value can be 'text' or 'binary'. For OpenLDAP, only text is used.
  283. ldap_dynamicgroup_unique_attribute_type = text
  284. # This is the name of the attribute on the dynamicgroup object that
  285. # specifies the filter to be applied for this dynamicgroup. All users
  286. # matching this filter AND matching the default
  287. # ldap_user_search_filter will be included in the dynamicgroup
  288. ldap_dynamicgroup_filter_attribute = kopanoFilter
  289. # This is the name of the attribute on the dynamicgroup object that
  290. # specifies the search base to be applied for this dynamicgroup.
  291. ldap_dynamicgroup_search_base_attribute = kopanoBase
  292. # The attribute containing the name of the dynamicgroup
  293. ldap_dynamicgroup_name_attribute = cn
  294. ##########
  295. # Quota settings
  296. # Optional
  297. # The attribute which indicates which users (besides the user who exceeds his quota)
  298. # should also receive a warning mail when a user exceeds his quota.
  299. ldap_quota_userwarning_recipients_attribute = kopanoQuotaUserWarningRecipients
  300. # Optional, default = text
  301. # Active directory: dn
  302. # LDAP: text
  303. ldap_quota_userwarning_recipients_attribute_type = text
  304. # Optional, default empty
  305. ldap_quota_userwarning_recipients_relation_attribute =
  306. # Optional
  307. # The attribute which indicates which users should receive a warning mail
  308. # when a company exceeds his quota.
  309. ldap_quota_companywarning_recipients_attribute = kopanoQuotaCompanyWarningRecipients
  310. # Optional, default = text
  311. # Active directory: dn
  312. # LDAP: text
  313. ldap_quota_companywarning_recipients_attribute_type = text
  314. # Optional, default empty
  315. ldap_quota_companywarning_recipients_relation_attribute =
  316. # Whether to override the system wide quota settings
  317. ldap_quotaoverride_attribute = kopanoQuotaOverride
  318. ldap_warnquota_attribute = kopanoQuotaWarn
  319. ldap_softquota_attribute = kopanoQuotaSoft
  320. ldap_hardquota_attribute = kopanoQuotaHard
  321. # Whether to override the system wide quota settings for all users within the company
  322. ldap_userdefault_quotaoverride_attribute = kopanoUserDefaultQuotaOverride
  323. ldap_userdefault_warnquota_attribute = kopanoUserDefaultQuotaWarn
  324. ldap_userdefault_softquota_attribute = kopanoUserDefaultQuotaSoft
  325. ldap_userdefault_hardquota_attribute = kopanoUserDefaultQuotaHard
  326. # Mapping from the quota attributes to a number of bytes. Qmail-LDAP
  327. # schema uses bytes (1), ADS uses kilobytes (1024*1024).
  328. ldap_quota_multiplier = ifelse(TYPE,`OPENLDAP',`1',`1048576')
  329. ##########
  330. # Misc. settings
  331. # Attribute which indicates if the user should be hidden from addressbook
  332. ldap_addressbook_hide_attribute = kopanoHidden
  333. # LDAP object search filter. %s in this filter will be replaced with
  334. # the object being searched.
  335. # Hint: Use the kopanoAccount attribute in the filter to differentiate
  336. # between non-kopano and kopano objects.
  337. # Default: empty
  338. # ADS recommended: (anr=%s)
  339. # OpenLDAP optional: (|(mail=%s*)(uid=%s*)(givenName=*%s*)(sn=*%s*))
  340. ldap_object_search_filter = ifelse(TYPE,`OPENLDAP',`(|(mail=*%s*)(givenName=*%s*)(sn=*%s*))',`(anr=%s)')
  341. # If a request want more objects than this value, it will download the
  342. # full ldap tree (from the base with the search filter) and discard
  343. # wat was not required. This is faster for large requests.
  344. # Default: 1000
  345. ldap_filter_cutoff_elements = 1000
  346. ##########
  347. # Multi-server settings
  348. # Users will be created on this named server
  349. # Optional, default kopanoUserServer
  350. ldap_user_server_attribute = kopanoUserServer
  351. # The public store of the company will be created on this named server
  352. # Optional, default kopanoCompanyServer
  353. ldap_company_server_attribute = kopanoCompanyServer
  354. # Optional
  355. # Active directory: kopanoHostAddress
  356. # LDAP: ipHostNumber
  357. ldap_server_address_attribute = ifelse(TYPE,`OPENLDAP',`ipHostNumber',`kopanoHostAddress')
  358. # Optional, default = kopanoHttpPort
  359. # Active directory: kopanoHttpPort
  360. # LDAP: kopanoHttpPort
  361. ldap_server_http_port_attribute = kopanoHttpPort
  362. # Optional, default = kopanoSslPort
  363. # Active directory: kopanoSslPort
  364. # LDAP: kopanoSslPort
  365. ldap_server_ssl_port_attribute = kopanoSslPort
  366. # Optional, default = kopanoFilePath
  367. # Active directory: kopanoFilePath
  368. #LDAP: kopanoFilePath
  369. ldap_server_file_path_attribute = kopanoFilePath
  370. # Determines if a server contains the public store of a non-hosted
  371. # environment. Only one server is allowed to host the public store.
  372. # Optional, default = kopanoContainsPublic
  373. # Active directory: kopanoContainsPublic
  374. # LDAP: kopanoContainsPublic
  375. ldap_server_contains_public_attribute = kopanoContainsPublic
  376. # The Proxy URL of the node; the node must be available to clients
  377. # using this Proxy URL if the server detects that original connection
  378. # was received via a proxy. See server.cfg(5)'s proxy_header setting
  379. ldap_server_proxy_path_attribute = kopanoProxyURL
  380. # Search for servers using this LDAP filter. See ldap_search(3) or RFC
  381. # 2254 for details on the filter syntax.
  382. # Optional, default = empty (match everything)
  383. # For active directory, use:
  384. # (objectCategory=Computer)
  385. # For LDAP with posix users, use:
  386. #
  387. ldap_server_search_filter = ifelse(TYPE,`OPENLDAP',`',`(objectCategory=Computer)')
  388. # Unique user id to find the server
  389. # Required
  390. # For active directory, use:
  391. # CN
  392. # For LDAP with posixAccount, use:
  393. # cn
  394. ldap_server_unique_attribute = cn