Difference between revisions of "stoney core: OpenLDAP directory data organisation"

From stoney cloud
Jump to: navigation, search
[unchecked revision][unchecked revision]
(People uid (per person))
(People uid (per person))
Line 567: Line 567:
 
| 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: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;"| The title of a person in the form of CEO or Technician.
 
| 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;"| The title of a person in the form of CEO or Technician.
  

Revision as of 12:16, 2 August 2013

Abstract

This document describes the OpenLDAP directory data organisation for the stoney cloud. This directory is the only database for all the services, which are manageable through the web interface of the stoney cloud.

Some titles have numbers in brackets. These numbers reflect the stoney cloud version, in which these entries have been added or modified.

Introduction

All Service-, User- and Billing-Data ist stored in the OpenLDAP directory. The directory runs in Multi-Master Mirror-Mode for high availability.

Data Organisation

The following chapters explain the data organisation of the stoney cloud OpenLDAP directory.

root

The following LDIF shows the root entry of the whole OpenLDAP directory tree for the stoney cloud:

dn: dc=stoney-cloud,dc=org
objectclass: top
objectclass: dcObject
objectclass: organization
dc: stoney-cloud
o: stoney-cloud

The following LDIF shows the root of the whole OpenLDAP directory tree for the stoney cloud modified for the company stepping stone GmbH in Switzerland:

dn: o=stepping-stone,c=ch
objectclass: top
objectclass: organization
o: stepping-stone

The entry c=ch stands for the country code of Switzerland while o=stepping-stone stands for the the organisation stepping-stone. The entry stepping-stone is in the process of being reserved at the Federal Office of Communications. With the reservation of the name, all the directory entries will be unique over the whole world.

The root entry can be chosen during the installation process of the stoney cloud. If you decide to use the default entry, you'll end up with dc=stoney-cloud,dc=org.

Administration

Configuration

Customers

The sub tree ou=customers,dc=stoney-cloud,dc=org contains all the customers. Each customer has a unique uid, which is used for later reference.

Customers uid (per customer)

We have two kinds of customers:

  • Company customer: This is the normal case, as we target companies.
  • Private customer: A private customer does not have a company/organisation name.

The following LDIF examples will show both cases where necessary. The first LDIF shows you the default company customer entry after a fresh stoney cloud installation. All relevant data belonging to this reseller is stored below this dn.

dn: uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstCustomerCompany
uid: 4000001
organizationName: Customer Ltd.
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstIsActive: TRUE

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000000.
organizationName
MUST
x
The organisation name of the reseller. For example: Customer Ltd..
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000.
sstBelongsToCustomerUID
MAY
x
Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. For example: 4000001.
sstIsActive
MAY
x
Is the entry active? Either yes (TRUE) or no (FALSE).

Legend:

  • x: Mandatory in all cases.

The following LDIF shows you the private customer entry. All relevant data belonging to this reseller are stored below this dn.

dn: uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstCustomerPerson
uid: 4000001
givenName: Name
surname: Surname
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstIsActive: TRUE

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000000.
givenName
MUST
x
Givenname, example: Hans.
surname
MUST
x
Surname, example: Muster.
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. For example: 4000000.
sstBelongsToCustomerUID
MAY
x
Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. For example: 4000001.
sstIsActive
MAY
x
Is the entry active? Either yes (TRUE) or no (FALSE).

Legend:

  • x: Mandatory in all cases.

Customers Billing Address

The sub tree ou=address,uid=4000001,ou=customers,dc=stoney-cloud,dc=org contains the billing address for a company customer:

dn: ou=address,uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstAddressCompany
ou: address
organizationName: Reseller Ltd.
sstGender: m
givenName: Name
surname: Surname
postalAddress: Street Number
countryName: CH
postalCode: Postal Code
localityName: Locality
preferredLanguage: en-GB
mail: name.surname@example.com
telephoneNumber: +41 00 000 00 00
mobileTelephoneNumber: +41 00 000 00 00
sstWebsiteURL: https://www.example.com/

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
organizationName
MUST
x
Company name, example: stepping stone GmbH
sstGender
MUST
x
Either 'm' for male or 'f' for female.
givenName
MUST
x
Givenname, example: Hans.
surname
MUST
x
Surname, example: Muster.
postalAddress
MAY
x2
Street Number, example: Neufeldstrasse 9. Multi-lined field.
postOfficeBox
MAY
x2
Postbox, example: 3456.
stateOrProvinceName
MAY
x3
This pulldown menu is only active (appears to the user), if the country is set to Canada or the USA.
countryName
MUST
x
Country code according to ISO 3166-1 (for the web interface) and the corresponding ISO 3166-1-alpha-2 code (as the LDAP entry). Example: For Switzerland the value is CH.
postalCode
MUST
x
Zipcode, example: 3012
localityName
MUST
x
City, example: Bern.
preferredLanguage
MUST
x
Display language of the user according to RFC 1766, example: de-CH. Currently supported:
  • de-CH
  • en-GB
mail
MUST
x
E-mail address of the user, example: hans.muster@example.com.
telephoneNumber
MAY
x1
Fixnet phone number, example: +41 31 222 33 44.
mobileTelephoneNumber
MAY
x1
Mobile phone number, example: +41 76 222 33 44.
sstWebsiteURL
MAY
URL gemäss RFC-3986 http://tools.ietf.org/html/rfc3986. For example http://www.stepping-stone.ch/.

Legend:

  • x1: Either telephoneNumber or mobileTelephoneNumber need to be present. Both attributes can exist together.
  • x2: Either postalAddress or postOfficeBox need to be present. Both attributes can exist together.
  • x3: If the countryName is either Canada or the USA, the stateOrProvinceName needs to be present.

The sub tree ou=address,uid=4000001,ou=customers,dc=stoney-cloud,dc=org contains the billing address for a private customer:

dn: ou=address,uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstAddressPerson
ou: address
sstGender: m
givenName: Name
surname: Surname
postalAddress: Street Number
countryName: CH
postalCode: Postal Code
localityName: Locality
preferredLanguage: en-GB
mail: name.surname@example.com
telephoneNumber: +41 00 000 00 00
mobileTelephoneNumber: +41 00 000 00 00
sstWebsiteURL: https://www.example.com/

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
sstGender
MUST
x
Either 'm' for male or 'f' for female.
givenName
MUST
x
Givenname, example: Hans.
surname
MUST
x
Surname, example: Muster.
postalAddress
MAY
x2
Street Number, example: Neufeldstrasse 9. Multi-lined field.
postOfficeBox
MAY
x2
Postbox, example: 3456.
stateOrProvinceName
MAY
x3
This pulldown menu is only active (appears to the user), if the country is set to Canada or the USA.
countryName
MUST
x
Country code according to ISO 3166-1 (for the web interface) and the corresponding ISO 3166-1-alpha-2 code (as the LDAP entry). Example: For Switzerland the value is CH.
postalCode
MUST
x
Zipcode, example: 3012
localityName
MUST
x
City, example: Bern.
preferredLanguage
MUST
x
Display language of the user according to RFC 1766, example: de-CH. Currently supported:
  • de-CH
  • en-GB
mail
MUST
x
E-mail address of the user, example: hans.muster@example.com.
telephoneNumber
MAY
x1
Fixnet phone number, example: +41 31 222 33 44.
mobileTelephoneNumber
MAY
x1
Mobile phone number, example: +41 76 222 33 44.
sstWebsiteURL
MAY
URL gemäss RFC-3986 http://tools.ietf.org/html/rfc3986. For example http://www.stepping-stone.ch/.

Legend:

  • x1: Either telephoneNumber or mobileTelephoneNumber need to be present. Both attributes can exist together.
  • x2: Either postalAddress or postOfficeBox need to be present. Both attributes can exist together.
  • x3: If the countryName is either Canada or the USA, the stateOrProvinceName needs to be present.

Customers Shipping Address (optional)

The sub tree ou=shipping,uid=4000001,ou=customers,dc=stoney-cloud,dc=org contains the shipping address and is optional (it is only needed, if the shipping address differs from the billing Address).

dn: ou=shipping,uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstAddressCompany
ou: shipping
organizationName: Reseller Ltd.
sstGender: m
givenName: Name
surname: Surname
postalAddress: Street Number
countryName: CH
postalCode: Postal Code
localityName: Locality
preferredLanguage: en-GB
mail: name.surname@example.com
telephoneNumber: +41 00 000 00 00
mobileTelephoneNumber: +41 00 000 00 00
sstWebsiteURL: https://www.example.com/

Customers Billing

The sub tree ou=billing,uid=4000001,ou=customers,dc=stoney-cloud,dc=org contains billing relevant data:

dn: ou=billing,uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstBillingReseller
ou: billing
sstResellerBill: FALSE

This entry need to be described in detail. TBD.

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Customers Employees

The sub tree ou=employees,uid=4000001,ou=customers,dc=stoney-cloud,dc=org contains the employees belonging to the reseller Customer Ltd. (all the employees with the the attribute sstBelongsToEmployeeUID=4000001). With the attribute labeledURI we use the functionality of the dynamic lists overlay to automatically give us a list of employees belonging to this customer. The number of employees is always the same or smaller than the number of people belonging to a customer (they are a subset).

dn: ou=employees,uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: labeledURIObject
ou: employees
labeledURI: ldap:///ou=people,dc=stoney-cloud,dc=org??one?(sstEmployeeOfUID=4000001)
member: uid=4000002,ou=people,dc=stoney-cloud,dc=org

In this example, the customer Customer Ltd. has one employee (with the uid=4000002).

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Customers People

The sub tree ou=people,uid=4000001,ou=customers,dc=stoney-cloud,dc=org contains the all the people belonging to the customer Customer Ltd. (all the people, including the employees, with the the attribute sstBelongsToCustomerUID=4000001). With the attribute labeledURI we use the functionality of the dynamic lists overlay to automatically give us a list of employees belonging to this reseller. The number of people is always the same or larger than the number of employees belonging to a reseller.

dn: ou=people,uid=4000001,ou=customers,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: labeledURIObject
ou: employees
labeledURI: ldap:///ou=people,dc=stoney-cloud,dc=org??one?(sstBelongsToCustomerUID=4000001)
member: uid=4000002,ou=people,dc=stoney-cloud,dc=org
member: uid=4000064,ou=people,dc=stoney-cloud,dc=org
member: uid=4000066,ou=people,dc=stoney-cloud,dc=org
member: uid=4000069,ou=people,dc=stoney-cloud,dc=org

In this example, four people the customer Customer Ltd. (including the employee with the uid=4000002).

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Groups

People

The sub tree ou=people,dc=stoney-cloud,dc=org contains all the people. Each person has a unique uid, which is used for later reference.

People uid (per person)

The following LDIF shows you the default person entry after a fresh stoney cloud installation. All relevant data belonging to this person is stored below this dn.

dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstPerson
uid: 4000002
sstGender: m
sstTitle: CEO
givenName: Name
surname: Surname
preferredLanguage: en-GB
userPassword: {SSHA}UgrBHVhKxFQInWWpzf1ddgEVmSg5vKUm
mail: name.surname@example.com
cn: admin
telephoneNumber: +41 00 000 00 00
mobileTelephoneNumber: +41 00 000 00 00
sstTimeZoneOffset: UTC+01
sstIsActive: TRUE
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstEmployeeOfUID: 4000000
sstEmployeeOfUID: 4000001

The person Name Surname (with the uid=4000002) belongs to the reseller Reseller Ltd. (with sstBelongsToResellerUID=4000000) and is an employee of the same company (sstEmployeeOfUID=4000000). The person also belongs the customer Customer Ltd. (with sstBelongsToCustomerUID=4000001) and is an employee of the same company (sstEmployeeOfUID=4000001).

The following table describes the different attributes:

AttributeType
Existence
Mandatory
User alterable
Description
uid
MUST
x
Unique Identifier.
sstGender
MUST
x
Either 'm' for male or 'f' for female
sstTitle
MAY
x
x
The title of a person in the form of CEO or Technician.
givenName
MUST
x
(x)
Givenname, example: Hans
surname
MUST
x
(x)
Surname, example: Meier
preferredLanguage
MUST
x
x
Display language of the user according to RFC 1766, example: de-CH
userPassword
MUST
x
x
SSHA user password. {SSHA} is a RFC 2307 password scheme which uses the SHA1 secure hash algorithm. The {SSHA} is the seeded varient. {SSHA} is recommended over other RFC 2307 schemes.
mail
MUST
x
x
E-mail address of the user, example: hans@example.com
cn
MAY
x
Common name of the user, for instance admin or user1.
telephoneNumber
MAY
x1
x1
Fixnet phone number, example: +41 31 222 33 44
mobileTelephoneNumber
MAY
x1
x1
Mobile phone number, example: +41 76 222 33 44
sstTimeZoneOffset
MUST
x
x
Time zone as an offset from UTC, example: UTC+01
sstIsActive
MAY
x
x
Is the entry active? Either yes (TRUE) or no (FALSE).
sstBelongsUID
MAY
Wenn dieser Wert vorhanden ist und der Wert "1" aufweist, ist diese Person Superuser und hat Zugriff über das gesamte System. In der Regel wird der Superuser nur benötigt, um neue Wiederverkäufer (Reseller) aufzuschalten.
sstBelongsToResellerUID
MAY
Die UID des Wiederverkäufers (Reseller) zu der die Person gehört. Das heisst, die Person ist Mitarbeiter des Wiederverkäufers.
sstBelongsToCustomerUID
MUST
x
Die UID des Kunden (Customer) zu der die Person gehört. Das heisst, die Person ist Mitarbeiter des Kunden.

Legende zur Mandatory Spalte:

  • x1: Entweder telephoneNumber oder mobileTelephoneNumber müssen ausgefüllt sein.
  • (x): Noch nicht definiert, ob der Benutzer (User) diese Werte ändern darf.

People Roles

This must be documented. TBD.

dn: ...,uid=4000002,ou=people,dc=stoney-cloud,dc=org

Reseller

The sub tree ou=reseller,dc=stoney-cloud,dc=org contains all the resellers. Each reseller has a unique uid, which is used for later reference.

Reseller uid (per Reseller)

The following LDIF shows you the default reseller entry after a fresh stoney cloud installation. All relevant data belonging to this reseller is stored below this dn.

dn: uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstReseller
uid: 4000000
organizationName: Reseller Ltd.
sstBelongsToResellerUID: 4000000
sstIsActive: TRUE

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000000.
organizationName
MUST
x
The organisation name of the reseller. For example: Reseller Ltd..
sstBelongsToResellerUID
MAY
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. For example: 4000000.
sstIsActive
MAY
x
Is the entry active? Either yes (TRUE) or no (FALSE).

Legend:

  • x: Mandatory in all cases.

Reseller Billing Address

The sub tree ou=address,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org contains the billing address:

dn: ou=address,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstAddressCompany
ou: address
organizationName: Reseller Ltd.
sstGender: m
givenName: Name
surname: Surname
postalAddress: Street Number
countryName: CH
postalCode: Postal Code
localityName: Locality
preferredLanguage: en-GB
mail: name.surname@example.com
telephoneNumber: +41 00 000 00 00
mobileTelephoneNumber: +41 00 000 00 00
sstWebsiteURL: https://www.example.com/

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
organizationName
MUST
x
Company name, example: stepping stone GmbH
sstGender
MUST
x
Either 'm' for male or 'f' for female.
givenName
MUST
x
Givenname, example: Hans.
surname
MUST
x
Surname, example: Muster.
postalAddress
MAY
x2
Street Number, example: Neufeldstrasse 9. Multi-lined field.
postOfficeBox
MAY
x2
Postbox, example: 3456.
stateOrProvinceName
MAY
x3
This pulldown menu is only active (appears to the user), if the country is set to Canada or the USA.
countryName
MUST
x
Country code according to ISO 3166-1 (for the web interface) and the corresponding ISO 3166-1-alpha-2 code (as the LDAP entry). Example: For Switzerland the value is CH.
postalCode
MUST
x
Zipcode, example: 3012
localityName
MUST
x
City, example: Bern.
preferredLanguage
MUST
x
Display language of the user according to RFC 1766, example: de-CH. Currently supported:
  • de-CH
  • en-GB
mail
MUST
x
E-mail address of the user, example: hans.muster@example.com.
telephoneNumber
MAY
x1
Fixnet phone number, example: +41 31 222 33 44.
mobileTelephoneNumber
MAY
x1
Mobile phone number, example: +41 76 222 33 44.
sstWebsiteURL
MAY
URL gemäss RFC-3986 http://tools.ietf.org/html/rfc3986. For example http://www.stepping-stone.ch/.

Legend:

  • x1: Either telephoneNumber or mobileTelephoneNumber need to be present. Both attributes can exist together.
  • x2: Either postalAddress or postOfficeBox need to be present. Both attributes can exist together.
  • x3: If the countryName is either Canada or the USA, the stateOrProvinceName needs to be present.

Reseller Shipping Address (optional)

The sub tree ou=shipping,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org contains the shipping address and is optional (it is only needed, if the shipping address differs from the billing Address).

dn: ou=shipping,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstAddressCompany
ou: shipping
organizationName: Reseller Ltd.
sstGender: m
givenName: Name
surname: Surname
postalAddress: Street Number
countryName: CH
postalCode: Postal Code
localityName: Locality
preferredLanguage: en-GB
mail: name.surname@example.com
telephoneNumber: +41 00 000 00 00
mobileTelephoneNumber: +41 00 000 00 00
sstWebsiteURL: https://www.example.com/

Reseller Billing

The sub tree ou=billing,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org contains billing relevant data:

dn: ou=billing,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstBillingReseller
ou: billing
sstResellerBill: FALSE

This entry need to be described in detail. TBD.

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Reseller Customers

The sub tree ou=customers,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org contains the customers belonging to the reseller Reseller Ltd. (all the customers with the the attribute sstBelongsToResellerUID=4000000). With the attribute labeledURI we use the functionality of the dynamic lists overlay to automatically give us a list of customers belonging to this reseller.

dn: ou=customers,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: labeledURIObject
ou: customers
labeledURI: ldap:///ou=customers,dc=stoney-cloud,dc=org??one?(sstBelongsToResellerUID=4000000)
member: uid=4000001,ou=customers,dc=stoney-cloud,dc=org

In this example, the reseller Reseller Ltd. has one customer (with the uid=4000001).

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Reseller Employees

The sub tree ou=employees,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org contains the employees belonging to the reseller Reseller Ltd. (all the employees with the the attribute sstBelongsToEmployeeUID=4000000). With the attribute labeledURI we use the functionality of the dynamic lists overlay to automatically give us a list of employees belonging to this reseller. The number of employees is always the same or smaller than the number of people belonging to a reseller (they are a subset).

dn: ou=employees,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: labeledURIObject
ou: employees
labeledURI: ldap:///ou=people,dc=stoney-cloud,dc=org??one?(sstEmployeeOfUID=4000000)
member: uid=4000002,ou=people,dc=stoney-cloud,dc=org

In this example, the reseller Reseller Ltd. has one employee (with the uid=4000002).

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Reseller People

The sub tree ou=people,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org contains the all the people belonging to the reseller Reseller Ltd. (all the people, including the employees, with the the attribute sstBelongsToResellerUID=4000000). With the attribute labeledURI we use the functionality of the dynamic lists overlay to automatically give us a list of employees belonging to this reseller. The number of people is always the same or larger than the number of employees belonging to a reseller.

dn: ou=people,uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: labeledURIObject
ou: employees
labeledURI: ldap:///ou=people,dc=stoney-cloud,dc=org??one?(sstBelongsToResellerUID=4000000)
member: uid=4000002,ou=people,dc=stoney-cloud,dc=org
member: uid=4000064,ou=people,dc=stoney-cloud,dc=org
member: uid=4000066,ou=people,dc=stoney-cloud,dc=org
member: uid=4000069,ou=people,dc=stoney-cloud,dc=org

In this example, four people the reseller Reseller Ltd. (including the employee with the uid=4000002).

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
attribure
MUST
x
TBD.

Legend:

  • x: Mandatory in all cases.

Services

The sub tree ou=services,dc=stoney-cloud,dc=org contains all the stoney cloud services like backup or mail.

dn: ou=services,dc=stone-cloud,dc=org
objectclass: organizationalUnit
objectclass: top
ou: services

The actual services are described in the following chapters.

Backup

The (Online) Backup service consists of two areas:

  • Server: The actual backup space with some extra functionality like informing the user when the backup space runs full or if a back was not executed at the planned time.
  • Client: The backup client (for example Sepiola), which is responsible to regularly copy the local data to the backup server.

On the back server the data copied to the backup space ist compared each day to the previous day's backup. If there are any changes found, a copy of the data will be made (a snapshot taken). Thus the user has access to 7 daily, 4 weekly and 3 monthly backups. During each snapshot, only the modified data is copied - thereby making optimal use of the available disk space.

This OpenLDAP related section of the Backup service is described on the Backup (OpenLDAP) page.