Difference between revisions of "stoney mail: OpenLDAP directory data organisation"
[checked revision] | [checked revision] |
(→Third Level Mail Account example (3733908@customers.example.com)) |
(→Third Level Mail Account example (3733908@customers.example.com)) |
||
Line 357: | Line 357: | ||
* '''Third Level Mail Accounts'''': A third level mail account (for example: 3733908@customers.example.com). This is actually the same as a normal mail account. | * '''Third Level Mail Accounts'''': A third level mail account (for example: 3733908@customers.example.com). This is actually the same as a normal mail account. | ||
− | === Third Level Mail Account example ( | + | === Third Level Mail Account example (3734242@customers.example.com) === |
− | A third level mail account example (for example: | + | A third level mail account example (for example: 3734242@customers.example.com). |
<source lang="ldif"> | <source lang="ldif"> | ||
dn: sstMail=3733908@customers.example.com,sstMailDomain=customers.example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org | dn: sstMail=3733908@customers.example.com,sstMailDomain=customers.example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org | ||
Line 394: | Line 394: | ||
sstBelongsToCustomerUID: 4000001 | sstBelongsToCustomerUID: 4000001 | ||
sstBelongsToPersonUID: 4000002 | sstBelongsToPersonUID: 4000002 | ||
− | sstBelongsToBillingUID: 3734242 # This the product UID of | + | sstBelongsToBillingUID: 3734242 # This the product UID of the Mail Account 3734242@customers.stepping-stone.ch |
</source> | </source> | ||
Line 410: | Line 410: | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center> | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | ||
− | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| RFC822 Address. | + | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| RFC822 Address. For example: <code>3733908@customers.example.com</code>. |
|- | |- | ||
Line 580: | Line 580: | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center> | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | ||
− | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more | + | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more. |
− | For example: <code>sstBelongsToResellerUID | + | For example: <code>sstBelongsToResellerUID: 4000000</code>. |
|- | |- | ||
Line 589: | Line 589: | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center> | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | ||
− | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry | + | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. |
For example: <code>sstBelongsToCustomerUID: 4000001</code>. | For example: <code>sstBelongsToCustomerUID: 4000001</code>. | ||
Line 597: | Line 597: | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center> | ||
− | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center> | + | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center> |
− | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the person UID the leaf belongs to. | + | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the person UID (Unique Identifier) the leaf belongs to. |
+ | |||
+ | For example: <code>sstBelongsToPersonUID: 4000002</code>. | ||
|- | |- | ||
Line 605: | Line 607: | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center> | ||
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center> | ||
− | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the billing UID the leaf belongs to. | + | | style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the billing UID (Unique Identifier) the leaf belongs to. This the product UID (Unique Identifier) of the Mail Account. For example: <code>3733908</code> (this corresponds with the value of the attribute <code>sstMail</code>. |
+ | |||
+ | For example: <code>sstBelongsToBillingUID: 3733908@customers.example.com</code>. | ||
|} | |} |
Revision as of 13:45, 18 February 2019
Contents
Abstract
This document describes the OpenLDAP directory data organisation for the stoney mail service, including groupware functionality based on Open-Xchange.
Data Organisation
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the stoney mail service.
The following LDIF shows the mail entry of the whole OpenLDAP directory tree for the stoney cloud:
dn: ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: organizationalUnit objectclass: top ou: mail
Mail Configuration
The sub tree for the configuration of the stoney mail service:
dn: ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: configuration description: The sub tree for the configuration of the stoney mail service.
The following table describes the different attributes:
Attribute | |
|
Description |
ou | |
|
This configuration leaf (ou: Organizational Unit), collects the stoney mail service related configuration. |
description | |
|
The description of this leaf. |
Legend:
- x: Mandatory in all cases.
Mail Reseller
The sub tree for the reseller specific stoney mail service configuration:
dn: ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: reseller description: The sub tree for the reseller specific stoney mail service configuration.
The following table describes the different attributes:
Attribute | |
|
Description |
ou | |
|
This reseller leaf (ou: Organizational Unit), collects the stoney mail service reseller related configuration. |
description | |
|
The description of this leaf. |
Legend:
- x: Mandatory in all cases.
The sub tree for the specific stoney mail service settings for the reseller Reseller Ltd. with the uid 4000000.
dn: uid=4000000,ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstReseller objectclass: sstServiceConfigurationObjectClass uid: 4000000 o: Reseller Ltd. description: The sub tree for the specific stoney mail service settings for the reseller Reseller Ltd. with the uid 4000000. sstIsActive: TRUE sstIsDefault: TRUE sstBelongsToResellerUID: 4000000
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
uid | |
|
|
|
A unique integer value with 7 digits or more. For example: 4000000. |
organizationName | |
|
|
|
The organisation name of the reseller. For example: Reseller Ltd. when sstIsCompany: TRUE ). Or in case of a person (sstIsCompany: FALSE ), the organisation name would be set to: Surname, Name (The content of the attributes surname and givenName ).
|
description | |
|
|
|
The description of the leaf. |
sstIsCompany | |
|
|
|
Is the entry a company? Either TRUE (yes) or FALSE (no).
|
sstIsActive | |
|
|
|
Is the entry active? Either TRUE (yes) or FALSE (no).
|
sstExternalID | |
|
|
|
The ID (or number) of a customer, person or product in an external database (for example: 234567). |
sstIsDefault | |
|
|
|
Contains the leaf a default entry? Either TRUE (yes) or FALSE (no). If sstIsDefault is set to TRUE , this entry acts as a fall back configuration. In other words: If a reseller doesn't have his own (online) backup service configuration, then this on will be used.
|
sstBelongsToResellerUID | |
|
|
|
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000. In this case, the attribute uid and sstBelongsToResellerUID must match with each other!
|
Legend:
- x: Mandatory in all cases.
Mail Reseller Logout-Redirection
The sub tree for the reseller logout-redirect specific stoney mail service configuration:
dn: ou=logout-redirect, ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: logout-redirect description: The sub tree for the reseller logout-redirect specific stoney mail service configuration.
The following table describes the different attributes:
Attribute | |
|
Description |
ou | |
|
This logout-redirect leaf (ou: Organizational Unit), collects the stoney mail service reseller logout-redirect related configuration. |
description | |
|
The description of this leaf. |
Legend:
- x: Mandatory in all cases.
The sub tree for the reseller logout-redirect specific stoney mail service settings, coming from the fully qualified domain name (fqdn) groupware.stoney-cloud.org.
dn: ou=groupware.stoney-cloud.org,ou=logout-redirect, ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstLogoutRedirect ou: groupware.stoney-cloud.org description: The sub tree for the reseller logout-redirect specific stoney mail service settings, coming from the fully qualified domain name (fqdn) groupware.stoney-cloud.org. sstWebsiteURL: http://www.stoney-cloud.org/
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
This leaf (ou: Organizational Unit), contains the logout-redirect related configuration for a specific fully qualified domain name (fqdn). For example: groupware.stoney-cloud.org. |
description | |
|
|
|
The description of the leaf. |
sstWebsiteURL | |
|
|
|
The URI the user is redirected to, after they log out from the groupware application. For example: http://www.stoney-cloud.org/ or https://www.stoney-cloud.org/. |
Legend:
- x: Mandatory in all cases.
Mail Domains
The leafs containing the mail domains for the stoney mail service. We can have one of the following mail domain types:
- Mail Domain: A local mail domain. For example: example.com.
- Mail Domain Aliase: A mail domain (for example: example.org), which points to a local mail domain. For example: example.com. All email addresses ending with @example.org are thus forwarded to the local mail domain example.com.
- Mail Domain Forward: A mail domain (for example: example.net), which points to an external mail domain (for example: external-domain.com).
- Third Level Mail Domain: A third level mail domain (for example: customers.example.com). Actually a sub set of a normal mail domain.
Mail Domain example (example.com)
The following example shows the mail domain name stoney-cloud.org:
dn:sstMailDomain=example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailDomain objectclass: sstGroupwareOX objectclass: sstProvisioning objectclass: sstRelationship sstMailDomain: example.com sstIsActive: TRUE sstGroupwareOXContextID: 3724493 sstGroupwareOXDomain: groupware.example.com sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T105847 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724493 # This attribute has the same function as the uid in other services.
Mail Domain Alias example (example.org)
The following example shows the mail domain alias example.org, which points to the local mail domain example.com.
dn: sstMailDomain=example.org,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailDomainAlias objectclass: sstProvisioning objectclass: sstRelationship sstMailDomain: example.org sstIsActive: TRUE sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T115418 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724533 # This attribute has the same function as the uid in other services.
The following sub tree is an essential part of the Mail Domain Alias example:
dn: sstMail=@example.org,sstMailDomain=example.org,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailWildcardAlias objectclass: amavisAccount objectclass: sstProvisioning objectclass: sstRelationship sstMail: @example.org sstMailForward: @example.com sstIsActive: TRUE sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T115418 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724533 # This attribute has the same function as the uid in other services.
Mail Domain Forward example (example.net)
A mail domain (for example: example.net), which points to an external mail domain (for example: external-domain.com).
Third Level Mail Domain example (customers.example.com)
A third level mail domain (for example: customers.example.com).
dn:sstMailDomain=customers.example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailDomain objectclass: sstGroupwareOX objectclass: sstProvisioning objectclass: sstRelationship sstMailDomain: customers.example.com sstIsActive: TRUE sstGroupwareOXContextID: 3724493 # This is the product UID of the Mail Domain customers.stepping-stone.ch sstGroupwareOXDomain: groupware.example.com sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T105847 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724493 # This attribute has the same function as the product UID in other services.
Mail Accounts
The leafs containing the mail accounts for the stoney mail service. We can have one of the following mail account types:
- Mail Account: ...
- Mail Alias Aliase: ...
- ...
- Third Level Mail Accounts': A third level mail account (for example: 3733908@customers.example.com). This is actually the same as a normal mail account.
Third Level Mail Account example (3734242@customers.example.com)
A third level mail account example (for example: 3734242@customers.example.com).
dn: sstMail=3733908@customers.example.com,sstMailDomain=customers.example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailAccount objectclass: amavisAccount objectclass: sstProvisioning objectclass: sstGroupwareOX objectclass: sstRelationship sstMail: 3733908@customers.example.com userPassword: {SSHA}aZGHe8drtP39HvKhW7eQoKsrR4c1ZjgwNmI0Mjcy sstMailMessageHomeDirectory: /var/vmail/2/242/734/3734242 sstMailMessageStore: mdbox:~/mdbox sstMailReadIMAP: TRUE sstMailReadPOP: TRUE sstMailReceive: TRUE sstMailSend: TRUE sstMailWebmail: TRUE # Original is TRUE, FALSE would better, as we don't have a web mail for the customer mail accounts. But don't change now. sstMailAccountFolderSent: Sent sstMailAccountFolderDrafts: Drafts sstMailAccountFolderTrash: Trash sstMailAccountFolderSpam: Spam sstQuota: 104857600 # Quota in Bytes 104857600 are 100 Mebibyte (MiB) sstIsActive: TRUE givenName: sst-int-tst-0001 surname: os.stoney-cloud.org # The default domain of our OpenStack based public stoney cloud preferredLanguage: en-GB # Could be either en-GB or de-CH sstGender: 0 # O is neutral, f is female, m is male sstGroupwareOXContextID: 3726904 # This is the product UID of the Mail Domain customers.stepping-stone.ch sstGroupwareOXAccountType: User # Could bei either user or resource sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningExecutionDate: 0 sstProvisioningState: 20100824T105847 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3734242 # This the product UID of the Mail Account 3734242@customers.stepping-stone.ch
The following table describes the different attributes:
Attribute | Objectclass | |
|
Description |
sstMail | sstMailAccount | |
|
RFC822 Address. For example: 3733908@customers.example.com .
|
userPassword | sstMailAccount | |
|
SSHA user password. {SSHA} is a RFC 2307 password scheme which uses the SHA1 secure hash algorithm. For example: {SSHA}h+qbh3pFWrZxmz02H5tXhOr+0/wrmHFF .
|
sstMailMessageHomeDirectory | sstMailAccount | |
|
Path to the message home directory. |
sstMailMessageStore | sstMailAccount | |
|
Path to the message store. Either ~/sdbx or ~/Maildir. |
sstMailReadIMAP | sstMailAccount | |
|
Does the user have access to the IMAP Server? Either yes (TRUE) or no (FALSE). |
sstMailReadPOP | sstMailAccount | |
|
Does the user have access to the POP Server? Either yes (TRUE) or no (FALSE). |
sstMailReceive | sstMailAccount | |
|
Can the user receive mail? Either yes (TRUE) or no (FALSE). |
sstMailSend | sstMailAccount | |
|
Can the user send mail? Either yes (TRUE) or no (FALSE). |
sstMailWebmail | sstMailAccount | |
|
Does the user have access to default webmail? Either yes (TRUE) or no (FALSE). |
sstMailAccountFolderSent | sstMailAccount | |
|
The name of the IMAP sent folder. |
sstMailAccountFolderDrafts | sstMailAccount | |
|
The name of the IMAP drafts folder. |
sstMailAccountFolderTrash | sstMailAccount | |
|
The name of the IMAP trash folder. |
sstMailAccountFolderSpam | sstMailAccount | |
|
The name of the IMAP spam folder. |
sstQuota | sstMailAccount | |
|
The filesystem quota in bytes. |
sstIsActive | sstMailAccount | |
|
Is the entry active? Either yes (TRUE) or no (FALSE). |
givenName | sstMailAccount | |
|
Given name (or first name), example: Hans . For a customer mail account, this value contains the host name. For example: sst-int-tst-0001 .
|
surname | sstMailAccount | |
|
Surname (or last name), example: Muster/code>. For a customer mail account, this value contains the domain name. For example: <code>os.stoney-cloud.org .
|
preferredLanguage | sstMailAccount | |
|
Mail account language of the user according to RFC 1766, example: de-CH. Currently supported:
|
sstGender | sstMailAccount | |
|
Gender, either 0 (neutral, m (male) or f (female). |
sstGroupwareOXContextID | sstMailAccount | |
|
The Open-Xchange groupware context id. |
sstGroupwareOXAccountType | sstMailAccount | |
|
The Open-Xchange Groupware account type, either User or Resource. |
sstProvisioningMode | sstProvisioning | |
|
The provisioning mode, either add , modify or delete . For a new account, this attribute must be set to add . See the stoney core: OpenLDAP provisioning page for details. If the entry was successfully added, modified or deleted, the provisioning mode is changed to added , modified or deleted .
|
sstProvisioningExecutionDate | sstProvisioning | |
|
The date the provisioning shall occur in the form of [YYYY][MM][DD] (ISO 8601). For a new account, this attribute must be set to 0. See the stoney core: OpenLDAP provisioning page for details. |
sstProvisioningState | sstProvisioning | |
|
The provisioning state, either 0 or in the form of [YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601). Z is the zone designator for the zero UTC offset. For a new OpenStack Domain, this attribute must be set to 0. After the successful provisioning, the value is set to the time of the provisioning. For example: sstProvisioningState: 20180819T083208Z . See the stoney core: OpenLDAP provisioning page for details.
|
sstBelongsToResellerUID | sstRelationship | |
|
Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more.
For example: |
sstBelongsToCustomerUID | sstRelationship | |
|
Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry.
For example: |
sstBelongsToPersonUID | sstRelationship | |
|
Stores the person UID (Unique Identifier) the leaf belongs to.
For example: |
sstBelongsToBillingUID | sstRelationship | |
|
Stores the billing UID (Unique Identifier) the leaf belongs to. This the product UID (Unique Identifier) of the Mail Account. For example: 3733908 (this corresponds with the value of the attribute sstMail .
For example: |
Legend:
- x: Mandatory in all cases.
- x1: Set
sstProvisioningMode
to eitheradded
,modified
ordeleted
if modifying the entry manually. - x2: Use
date --utc "+%Y%m%dT%H%M%SZ"
to set the attributesstProvisioningState
if modifying the entry manually.