stoney backup: OpenLDAP directory data organisation
Contents
- 1 Abstract
- 2 Data Organisation
- 3 Backup
- 3.1 Backup Configuration
- 3.1.1 Backup rsnapshot Provisioning Daemon
- 3.1.2 Backup Reseller
- 3.1.2.1 Backup Reseller Billing
- 3.1.2.2 Backup Reseller Backup Account Defaults
- 3.1.2.3 Backup Reseller Backup Notification Settings
- 3.1.2.4 Backup Reseller Backup Account Settings
- 3.1.2.5 Backup Reseller Templates
- 3.2 Backup Accounts
- 3.3 Backup Groups
- 3.4 Provisioning
- 3.1 Backup Configuration
- 4 Links
Abstract
This document describes the OpenLDAP directory data organisation for the stoney cloud (Online) Backup service.
Data Organisation
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the (Online) Backup service.
Backup
The following LDIF shows the backup entry of the whole OpenLDAP directory tree for the stoney cloud:
dn: ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: organizationalUnit objectclass: top ou: backup
Backup Configuration
The sub tree for the configuration of the (online) backup service:
dn: ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: configuration description: The sub tree for the configuration of the (online) backup service.
Backup rsnapshot Provisioning Daemon
The sub tree for the configuration of the prov-backup-rsnapshot daemon:
dn: ou=prov-backup-rsnapshot,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstServiceConfigurationObjectClass ou: prov-backup-rsnapshot description: The sub tree for the configuration of the prov-backup-rsnapshot daemon. sstIsActive: TRUE
The following table describes the different attributes:
Attribute | |
|
Description |
description | |
|
The description of the leaf. |
sstIsActive | |
|
Is the entry active? Either true (yes) or false (no). |
Legend:
- x: Mandatory in all cases.
Backup Reseller
The sub tree for the reseller specific (online) backup service settings:
dn: ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: reseller description: The sub tree for the reseller specific (online) backup service settings.
The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
dn: uid=4000000,ou=reseller,ou=configuration,ou=backup,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 (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000. sstIsActive: TRUE sstIsDefault: TRUE
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
uid | |
|
|
|
A unique integer value with 7 digits or more. For example: 4000000. |
o | |
|
|
|
The company name, for example: stepping stone GmbH. |
description | |
|
|
|
The description of the leaf. |
sstIsActive | |
|
|
|
Is the entry active? Either TRUE (yes) or FALSE (no).
|
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.
|
Legend:
- x: Mandatory in all cases.
Backup Reseller Billing
The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
dn: ou=billing,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: TBD ou: billing description: The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
TBD: Der Aufbau sollte so sein, dass er hierarchische Informationen abbilden könnte. Oder wir machen den normalen Billing Tree, den wir ursprünglich vorgeshene haben.
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
|
description | |
|
|
|
The description of the leaf. |
Legend:
- x: Mandatory in all cases.
Backup Reseller Backup Account Defaults
The sub tree for the backup account defaults for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
dn: ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstBackup ou: defaults description: The sub tree for the default settings of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. loginShell: /bin/sh shadowMax: 99999 shadowWarning: 7 shadowFlag: 134539460 sstBackupWarningDays: 1 sstBackupWarningNumbers: 0 sstBackupWarningOn: FALSE sstNotificationWarningLevel: 85 sstNotificationWarningMedium: mail sstBackupSize: 0 sstIncrementSize: 0 sstBackupIntervalHourly: 0 sstBackupIntervalDaily: 7 sstBackupIntervalWeekly: 4 sstBackupIntervalMonthly: 3 sstBackupIntervalYearly: 0 sstUseSelfcare: FALSE sstUseSSH: TRUE sstIsActive: TRUE
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
|
description | |
|
|
|
|
loginShell | |
|
|
|
The path to the login shell. The default is /bin/sh. |
shadowMax | |
|
|
|
Related to the /etc/shadow file, this attribute specifies the maximum number of days the password is valid. The default is 99999, which corresponds to about 273 years. In reality, this means, that the user does not need to change the password. |
shadowWarning | |
|
|
|
Related to the /etc/shadow file, this attribute specifies the number of days before the password expires that the user is warned. The default is 7. |
shadowFlag | |
|
|
|
Related to the /etc/shadow file, this attribute is currently not used and is reserved for future use. The default is set to 134539460.
|
sstVolumeCapacityDefault | |
|
|
|
|
sstVolumeCapacityMin | |
|
|
|
|
sstVolumeCapacityMax | |
|
|
|
|
sstVolumeCapacityStep | |
|
|
|
|
sstQuotaChange | |
|
|
|
Can the user change the quota? Either TRUE (yes) or FALSE (no). Default is FALSE (no).
|
sstBackupWarningDays | |
|
|
|
After how many missed backup days should the user be warned. Possible values are between 0 and 99. Default is 1. |
sstBackupWarningNumbers | |
|
|
|
After how many missed backups should the user be warned. Possible values are between 0 and 99. Default is 0. |
sstBackupWarningOn | |
|
|
|
Does the user want to informed about failed backups (TRUE) or not (FALSE). |
sstNotificationWarningLevel | |
|
|
|
The quota notification level in percent, when the owner of the backup needs to warned. A value between 0 and 100. The default is 85 percent. |
sstNotificationWarningMedium | |
|
|
|
The notification medium, either sms (points to the multi-valued attribute mobileTelephoneNumber ) or mail (points to the multi-valued attribute mail ). Currently, only mail is supported.
|
sstNotificationWarningMediumChange | |
|
|
|
Can a user change the notification warning medium? Either TRUE (yes) or FALSE (no). The default is FALSE (no).
|
sstNotificationWarningMediumAdd | |
|
|
|
Can a user add new notification warning mediums (mobileTelephoneNumber or mail ? Either TRUE (yes) or FALSE (no). The default is TRUE (yes). Currently, only adding new mail addresses are supported.
|
sstBackupIntervalHourly | |
|
|
|
How many hourly backups do we want? The default is 0. |
sstBackupIntervalDaily | |
|
|
|
How many daily backups do we want? The default is 7. |
sstBackupIntervalWeekly | |
|
|
|
How many weekly backups do we want? The default is 4. |
sstBackupIntervalMonthly | |
|
|
|
How many monthly backups do we want? The default is 3. |
sstBackupIntervalYearly | |
|
|
|
How many yearly backups do we want? The default is 0. |
sstIsActive | |
|
|
|
Is the backup account active? Either TRUE (yes) or FALSE (no). Default is TRUE (yes).
|
sstUseSelfcare | |
|
|
|
Can the selfcare interface be used with the credentials of the backup account? Either TRUE (yes) or FALSE (no). Default is FALSE (no).
|
sstUseSSH | |
|
|
|
Is the ssh service active for the backup account? Either TRUE (yes) or FALSE (no). Default is TRUE (yes).
|
Legend:
- x: Mandatory in all cases.
Backup Reseller Backup Notification Settings
The sub tree stores the notification information for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. This information is used independently of the notification settings of the users. The idea is, that the reseller can receive notifications for a customer and reaction on the received information (for example, when the quota has been reached:
dn: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstNotificationObjectClass ou: notifications description: The sub tree stores the notification information for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. This information is used independently of the notification settings of the users. sstNotificationWarning: quota sstNotificationWarning: schedule sstNotificationWarning: unsuccessful
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
|
description | |
|
|
|
|
sstNotificationWarning | |
|
|
|
This multi-valued attribute will be used to turn single notifications on or off. The attribute sstBackupWarningOn must be set to TRUE Possible values are quota, schedule and unsuccessful (the names correspond with the template dn).
|
Legend:
- x: Mandatory in all cases.
Backup Reseller Backup Account Settings
The sub tree stores the information about what can be modified in which scope for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
dn: ou=settings,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstServiceSettingsObjectClass ou: settings description: This sub tree stores the information about what can be modified in which scope. sstVolumeCapacityDefault: 1073741824 sstVolumeCapacityMin: 1073741824 sstVolumeCapacityMax: 536870912000 sstVolumeCapacityStep: 1073741824 sstNotificationWarningMediumChange: FALSE sstNotificationWarningMediumAdd: TRUE sstQuotaChange: FALSE sstSendCredentialsTo: owner sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> preferredLanguage: de-CH
Human readable format:
- sstVolumeCapacityDefault: 1 Gigabyte
- sstVolumeCapacityMin: 1 Gigabyte
- sstVolumeCapacityMax: 500 Gigabytes
- sstVolumeCapacityStep: 1 Gigabyte
The following table describes how to calculate the sstVolumeCapacity* attributes:
Size | Calculation | Value |
|
1 | 1 |
|
1 x 1024 | 1024 |
|
1 x 1024 x 1024 | 1048576 |
|
1 x 1024 x 1024 x 1024 | 1073741824 |
|
5 x 1024 x 1024 x 1024 | 5368709120 |
|
10 x 1024 x 1024 x 1024 | 10737418240 |
|
100 x 1024 x 1024 x 1024 | 107374182400 |
|
500 x 1024 x 1024 x 1024 | 536870912000 |
|
1 x 1024 x 1024 x 1024 x 1024 | 1099511627776 |
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
|
description | |
|
|
|
|
sstVolumeCapacityDefault | |
|
|
|
|
sstVolumeCapacityMin | |
|
|
|
|
sstVolumeCapacityMax | |
|
|
|
|
sstVolumeCapacityStep | |
|
|
|
|
sstNotificationWarningMediumChange | |
|
|
|
Can a user change the notification warning medium? Either TRUE (yes) or FALSE (no). The default is FALSE (no).
|
sstNotificationWarningMediumAdd | |
|
|
|
Can a user add new notification warning mediums (mobileTelephoneNumber or mail ? Either TRUE (yes) or FALSE (no). The default is TRUE (yes). Currently, only adding new mail addresses are supported.
|
sstQuotaChange | |
|
|
|
Can the user change the quota? Either TRUE (yes) or FALSE (no). Default is FALSE (no).
|
sstSendCredentialsTo | |
|
|
|
To whom do we send the access data or credentials. At least one entry must exist. Possible values:
|
sstMailFrom | |
|
|
|
The mail address, from which the credentials are to be sent from. In the example from above, this value is Support stepping stone GmbH <support@stepping-stone.ch>. |
preferredLanguage | |
|
|
|
The notification language, which will be used to used in the mails, that are sent to the reseller, according to RFC 1766 (ISO 3166-1-alpha-2 code-ISO 639-1 Code. For example de-CH or en-GB.
|
Legend:
- x: Mandatory in all cases.
Backup Reseller Templates
This sub tree contains the templates for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
dn: ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: templates description: This sub tree contains the templates for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
Backup Reseller Credentials Templates
This sub tree contains the quota templates for the (online) backup service:
dn: ou=credentials,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateSetup ou: credentials description: This leaf contains the credential templates for the (online) backup service. sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_mail sstMailTemplateFormatSource: txt sstMailTemplateFormatTarget: txt sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_attachment sstTemplateFormatSource: odt sstTemplateFormatTarget: pdf
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
|
description | |
|
|
|
|
sstMailFrom | |
|
|
|
The mail address, from which the credentials are sent from. For example:
If this attribute does not exist, the <code>sstMailFrom from |
sstMailTo | |
|
|
|
If this multi-valued attribute is set with one or mail address(es), then these recipients will receive the same information as the login user or the owner, depending on the value of sstSendCredentialsTo under ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org . Normally, this attribute is not set.
|
sstMailTemplate | |
|
|
|
The template, that is used to create the mail that is sent to either the user logged in (sstSendCredentialsTo: login ) or to the owner of then newly created service (sstSendCredentialsTo: owner . For example:
|
sstMailTemplateFormatSource | |
|
|
|
The format of the source template. Supported values:
Place holder:
Default would normally be |
sstMailTemplateFormatTarget | |
|
|
|
The format of the target. Supported values:
|
sstTemplate | |
|
|
|
The template, that is used to create the attachment that is sent with the mail. For example:
|
sstTemplateFormatSource | |
|
|
|
The format of the source template. Supported values:
Place holders:
The complete path and file name is a string concatenation of the values of the attributes
This gives us:
Default would normally be |
sstTemplateFormatTarget | |
|
|
|
The format of the target. Supported values:
Note to selfcare developer(s). Please be aware of the following issues when using PHP-Easy-Report:
Default would normally be |
Legend:
- x: Mandatory in all cases.
Credentials Place Holders E-Mail (txt/html)
Address with an example:
{$company} stepping stone GmbH {$salutation} {$name} {$surname} Mr. Michael Eichenberger {$address} Neufeldstrasse 9 {$country}-{$zip} {$location} CH-3013 Bern
Date with an example:
{$day} 16 {$month} August {$year} 2013
Backup Service with an example:
{$uid} 4000124 {$password} XlWz4Qa#
Credentials Place Holders LibreOffice (odt)
LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder}
we have {{placeholder}}
.
Backup Reseller Quota Templates
This sub tree contains the quota templates for the (online) backup service:
dn: ou=quota,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateSetup ou: quota description: This leaf contains the quota templates for the (online) backup service. sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTo: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail sstMailTemplateFormatSource: txt sstMailTemplateFormatTarget: txt sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail_reseller sstMailTemplateFormatSource: txt sstMailTemplateFormatTarget: txt
Backup Reseller Schedule Templates
This sub tree contains the schedule templates for the (online) backup service:
dn: ou=schedule,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateSetup ou: schedule description: This sub tree contains the schedule templates for the (online) backup service. The leaf contains the information about the sender and default recipient of the mails sent. sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTo: Support stepping stone GmbH <support@stepping-stone.ch>
Backup Reseller Schedule Templates for de-CH
dn: ou=de-CH,ou=schedule,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateLanguage ou: de-CH sstMailTemplate:: eyRzYWx1dGF0aW9ufSB7JHN1cm5hbWV9CgpJaHIgYW0geyRzY2hlZHVsZWRfZGF0ZX0gdW0geyRz Y2hlZHVsZWRfdGltZX0gVWhyIGdlcGxhbnRlcyBCYWNrdXAgZsO8ciBkZW4gQWNjb3VudCAneyRn ZWNvc30nIHVuZCBkZW4gQ29tcHV0ZXIgJ3skY29tcHV0ZXJ9JyB3dXJkZSBuaWNodCBhdXNnZWzD tnN0Lgp7JGxhc3Rfc3VjY2Vzc19kZX0KCkZhbGxzIElociBDb21wdXRlciAneyRjb21wdXRlcn0n IGFtIHskc2NoZWR1bGVkX2RhdGV9IHVtIHskc2NoZWR1bGVkX3RpbWV9IFVociBuaWNodCBnZWxh dWZlbiBpc3QsIGvDtm5uZW4gU2llIGRpZXNlIE5hY2hyaWNodAppZ25vcmllcmVuLiBBbnNvbnN0 ZW4ga29udHJvbGxpZXJlbiBTaWUgYml0dGUsIG9iIGRpZSBOZXR6d2Vyay1WZXJiaW5kdW5nIGlu IE9yZG51bmcgaXN0LgoKTWl0IGZyZXVuZGxpY2hlbiBHcsO8c3NlbgpJaHIgU3VwcG9ydCBUZWFt IGRlciBzdGVwcGluZyBzdG9uZSBHbWJICgotLQpzdGVwcGluZyBzdG9uZSBHbWJICk5ldWZlbGRz dHJhc3NlIDkKQ0gtMzAxMiBCZXJuCgpUZWxlZm9uOiArNDEgMzEgMzMyIDUzIDYzCnd3dy5zdGVw cGluZy1zdG9uZS5jaApzdXBwb3J0QHN0ZXBwaW5nLXN0b25lLmNoCg==
Backup Reseller Schedule Templates for en-GB (Fallback Template)
dn: ou=en-GB,ou=schedule,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateLanguage ou: en-GB sstIsDefault: TRUE sstMailTemplate:: eyRzYWx1dGF0aW9ufSB7JHN1cm5hbWV9CgpZb3VyIGJhY2t1cCBmb3IgdGhlIGFjY291bnQgJ3sk Z2Vjb3N9JyBhbmQgdGhlIGNvbXB1dGVyICd7JGNvbXB1dGVyfScsIHNjaGVkdWxlZCBmb3IgdGhl IHskc2NoZWR1bGVkX2RhdGV9IGF0IHskc2NoZWR1bGVkX3RpbWV9LCB3YXMgbm90IGV4ZWN1dGVk Lgp7JGxhc3Rfc3VjY2Vzc19lbn0KCklmIHlvdXIgY29tcHV0ZXIgd2Fzbid0IHJ1bm5pbmcgb24g dGhlIHskc2NoZWR1bGVkX2RhdGV9IGF0IHskc2NoZWR1bGVkX3RpbWV9LCB5b3UgY2FuIGlnbm9y ZSB0aGlzIG1lc3NhZ2UuCk90aGVyd2lzZSBwbGVhc2UgY2hlY2ssIGlmIHlvdXIgbmV0d29yayBz ZXR0aW5ncyBhcmUgY29ycmVjdC4KCktpbmQgcmVnYXJkcwp5b3VyIHN0ZXBwaW5nIHN0b25lIEdt Ykggc3VwcG9ydCB0ZWFtCgotLQpzdGVwcGluZyBzdG9uZSBHbWJICk5ldWZlbGRzdHJhc3NlIDkK Q0gtMzAxMiBCZXJuCgpUZWxlZm9uOiArNDEgMzEgMzMyIDUzIDYzCnd3dy5zdGVwcGluZy1zdG9u ZS5jaApzdXBwb3J0QHN0ZXBwaW5nLXN0b25lLmNoIAo=
Backup Reseller Unsuccessful Templates
This sub tree contains the unsuccessful templates for the (online) backup service:
dn: ou=unsuccessful,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateSetup ou: unsuccessful description: This sub tree contains the schedule templates for the (online) backup service. The leaf contains the information about the sender and default recipient of the mails sent. sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTo: Support stepping stone GmbH <support@stepping-stone.ch>
Backup Reseller Unsuccessful Templates for de-CH
dn: ou=de-CH,ou=unsuccessful,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateLanguage ou: de-CH sstMailTemplate:: eyRzYWx1dGF0aW9ufSB7JHN1cm5hbWV9CgpJaHIgYW0geyRzY2hlZHVsZWRfZGF0ZX0gdW0geyRz Y2hlZHVsZWRfdGltZX0gVWhyIGdlcGxhbnRlcyBCYWNrdXAgZsO8ciBkZW4gQWNjb3VudCAneyRn ZWNvc30nIHVuZCBkZW4gQ29tcHV0ZXIgJ3skY29tcHV0ZXJ9JyB3YXIgbmljaHQgZXJmb2xncmVp Y2guCnskbGFzdF9zdWNjZXNzX2RlfQoKRmFsbHMgZGFzIFByb2JsZW0gbWl0IGVpbmVtIG1hbnVl bGxlbiBCYWNrdXAgYmVob2JlbiB3ZXJkZW4ga2Fubiwga8O2bm5lbiBTaWUgZGllc2UKTmFjaHJp Y2h0IGlnbm9yaWVyZW4uIEFuc29uc3RlbiBnaWJ0IGVzIGVpbiBncsO2c3NlcmVzIFByb2JsZW0u IEJpdHRlIGtvbnRha3RpZXJlbiAKU2llIHVucyB1bnRlciA6IHN1cHBvcnRAc3RlcHBpbmctc3Rv bmUuY2gKCk1pdCBmcmV1bmRsaWNoZW4gR3LDvHNzZW4KSWhyIFN1cHBvcnQgVGVhbSBkZXIgc3Rl cHBpbmcgc3RvbmUgR21iSAoKLS0Kc3RlcHBpbmcgc3RvbmUgR21iSApOZXVmZWxkc3RyYXNzZSA5 CkNILTMwMTIgQmVybgoKVGVsZWZvbjogKzQxIDMxIDMzMiA1MyA2Mwp3d3cuc3RlcHBpbmctc3Rv bmUuY2gKc3VwcG9ydEBzdGVwcGluZy1zdG9uZS5jaCAK
Backup Reseller Unsuccessful Templates for en-GB (Fallback Template)
dn: ou=en-GB,ou=unsuccessful,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateLanguage ou: en-GB sstIsDefault: TRUE sstMailTemplate:: eyRzYWx1dGF0aW9ufSB7JHN1cm5hbWV9CgpZb3VyIGJhY2t1cCBmb3IgdGhlIGFjY291bnQgJ3sk Z2Vjb3N9JyBhbmQgdGhlIGNvbXB1dGVyICd7JGNvbXB1dGVyfScsIHNjaGVkdWxlZCBmb3IgdGhl IHskc2NoZWR1bGVkX2RhdGV9IGF0IHskc2NoZWR1bGVkX3RpbWV9LCB3YXMgbm90IHN1Y2Nlc3Nm dWwuCnskbGFzdF9zdWNjZXNzX2VufQoKSWYgdGhlIHByb2JsZW0gY2FuIGJlIHNvbHZlZCB3aXRo IGEgbWFudWFsIEJhY2t1cCwgeW91IG1heSBpZ25vcmUgdGhpcyBtZXNzYWdlLiAKT3RoZXJ3aXNl IHBsZWFzZSBjb250YWN0IHVzIHVuZGVyOiBzdXBwb3J0QHN0ZXBwaW5nLXN0b25lLmNoCgpLaW5k IHJlZ2FyZHMKeW91ciBzdGVwcGluZyBzdG9uZSBHbWJIIHN1cHBvcnQgdGVhbQoKLS0Kc3RlcHBp bmcgc3RvbmUgR21iSApOZXVmZWxkc3RyYXNzZSA5CkNILTMwMTIgQmVybgoKVGVsZWZvbjogKzQx IDMxIDMzMiA1MyA2Mwp3d3cuc3RlcHBpbmctc3RvbmUuY2gKc3VwcG9ydEBzdGVwcGluZy1zdG9u ZS5jaCAK
Backup Accounts
The sub tree for the accounts of the (online) backup service:
dn: ou=accounts,ou=backup,ou=services,dc=foss-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: accounts description: The sub tree for the accounts of the (online) backup service.
Backup Account Example
Each (Online) Backup service account has it's own change root (chroot, jail) directory. The following example shows the OpenLDAP directory entry for the (online) backup account with the uid number 3723707:
dn: uid=3723707,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: account objectclass: posixAccount objectclass: shadowAccount objectclass: sstBackup objectclass: sstProvisioning objectclass: sstRelationship uid: 3723707 userPassword: {SSHA}E/KLUgeAtApAPQ7mG2GMddCxTE9m9QOS uidNumber: 3723707 gidNumber: 3723707 cn: Michael Eichenberger gecos: Michael Eichenberger homeDirectory: /var/backup/7/707/723/3723707/chroot/./home/3723707 loginShell: /bin/sh shadowLastChange: 11108 shadowMax: 99999 shadowWarning: 7 shadowFlag: 134539460 sstBackupIntervalHourly: 0 sstBackupIntervalDaily: 7 sstBackupIntervalWeekly: 4 sstBackupIntervalMonthly: 3 sstBackupIntervalYearly: 0 sstBackupWarningDays: 1 sstBackupWarningNumbers: 0 sstBackupWarningOn: TRUE sstNotificationWarningLevel: 85 preferredLanguage: de-CH sstNotificationWarningMedium: mail sstUseSelfcare: FALSE sstUseSSH: TRUE sstIsActive: TRUE sstQuota: 10737418240 sstBackupSize: 0 sstIncrementSize: 0 sstProvisioningMode: add sstProvisioningExecutionDate: 0 sstProvisioningState: 0 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
uid | |
|
|
|
The unique identifier (uid). This attribute is created by the selfcare interface by reading (and incrementing) the next free uid from "cn=nextfreeuid,ou=administration,dc=stoney-cloud,dc=org". |
userPassword | |
|
|
|
Identifies the entry's password and encryption method in the following format: {encryption method}encrypted password . For example: {SSHA}zBiT1dHAZh/8zbCeyocRVWhdP0j9xJ3U. This password will be automatically set through the selfcare interface. Afterwords, the password can be changed by the user (including the reseller and customer).
|
uidNumber | |
|
|
|
Related to the /etc/shadow file, this attribute specifies the user's login ID. Is the same as the uid. For example: 3723707. |
gidNumber | |
|
|
|
Group ID number. Is the same as the uid. For example: 3723707. |
cn | |
|
|
|
givenName and Surname. Will be used for the presentation in the interface. TBD |
gecos | |
|
|
|
Named for historical reasons, the GECOS field is mandatory and is used to store extra information (such as the user's full name). Utilities such as finger or getent access this field to provide additional user information. For a personal account, this entry would consist of givenName and surname , for example Michael Eichenberger . These values are taken from the owners entry (ou=people). For a service account, the attribute sstDisplayName from the corresponding service would be used for the content of this attribute. Please be aware, that this attribute is a IA5String (OID=1.3.6.1.4.1.1466.115.121.1.26) IA5 (almost ASCII) character set (7-bit). Does NOT allow extended characters e.g. é, Ø, å etc. The selfcare interface automatically creates the content of this attribute. The user (including the reseller and customer) can modify this attribute as desired (except for the IA5 restrictions).
You can use: |
homeDirectory | |
|
|
|
The directory path corresponds with the 7 digit account uid. The following example describes, how the directory structure is built up for the account with the uid 3723707.
|
loginShell | |
|
|
|
The path to the login shell. The default is /bin/sh and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
shadowLastChange | |
|
|
|
Related to the /etc/shadow file, this attribute specifies number of days between January 1, 1970, and the date that the password was last modified. Must be set to the day, that the password was set (must be updated, when the password is changed). This attribute is created by the selfcare interface. |
shadowMax | |
|
|
|
Related to the /etc/shadow file, this attribute specifies the maximum number of days the password is valid. The default is 99999, which corresponds to about 273 years. In reality, this means, that the user does not need to change the password. This attribute is created by the selfcare interface. The value is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
shadowWarning | |
|
|
|
Related to the /etc/shadow file, this attribute specifies the number of days before the password expires that the user is warned. The default is 7 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
shadowFlag | |
|
|
|
Related to the /etc/shadow file, this attribute is currently not used and is reserved for future use. The default is set to 134539460 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstBackupIntervalHourly | |
|
|
|
How many hourly backups do we want? The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstBackupIntervalDaily | |
|
|
|
How many daily backups do we want? The default is 7 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstBackupIntervalWeekly | |
|
|
|
How many weekly backups do we want? The default is 4 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstBackupIntervalMonthly | |
|
|
|
How many monthly backups do we want? The default is 3 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstBackupIntervalYearly | |
|
|
|
How many yearly backups do we want? The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstBackupWarningDays | |
|
|
|
If the attribute sstBackupWarningOn ist true, a non-successful backup notification warning is sent after X days of non-successful backups (where X is an integer number larger than zero). X is an integer number larger than 1. 0 means, the warning is turned off. The default is 1 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstBackupWarningNumbers | |
|
|
|
If the attribute sstBackupWarningOn ist true, a non-successful backup notification warning is sent after X non-successful backups. X is an integer number larger than 1. 0 means, the warning is turned off. The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstBackupWarningOn | |
|
|
|
Is the non-successful backup notification warning turned on or not? Either true (yes) or false (no). Default is true (yes) and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstNotificationWarning | |
|
|
|
This multi-valued attribute will be used to turn single notifications on or off. The attribute sstBackupWarningOn must be set to TRUE Possible values are quota, schedule and unsuccessful (the names correspond with the template dn).
|
preferredLanguage | |
|
|
|
The notification language according to RFC 1766 (ISO 3166-1-alpha-2 code-ISO 639-1 Code. For example de-CH or en-GB. The content of this value is taken from the person entry from the attribute preferredLanguage . If the backup account belongs to a service, the user must be asked for the notification language.
|
sstNotificationWarningLevel | |
|
|
|
The quota notification level in percent, when the owner of the backup needs to warned. A value between 0 and 100. The default is 85 percent and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. |
sstNotificationWarningMedium | |
|
|
|
The notification medium, either sms (points to the multi-valued attribute mobileTelephoneNumber ) or mail (points to the multi-valued attribute mail ). Currently, only mail is supported. This is the default is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstQuota | |
|
|
|
The filesystem quota in bytes. 10737418240 Bytes equal 10 Gigabytes. The user can change the quota, if the sstQuotaChange is set to TRUE . See "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstBackupSize | |
|
|
|
The size of the actual backup in bytes. Default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. This attribute will be updated by the writeAccountSize.pl script, which is called during the daily backup run by the rsnapshotPostExecWrapper.sh script.
|
sstIncrementSize | |
|
|
|
The size of all the incremental backups combined in bytes. This attribute will be updated by the writeAccountSize.pl script, which is called during the daily backup run by the rsnapshotPostExecWrapper.sh script.
|
mobileTelephoneNumber | |
|
|
|
Multi-valued attribute with the mobile phone number(s) that is used for the notification of the user(s), if the attribute sstBackupWarningOn ist true and the attribute sstNotificationWarningMedium ist set to sms . Currently, only adding new mail addresses are supported, therefore this attribute is not used for the moment.
|
|
|
|
|
Multi-valued attribute with the E-Mail addresse(s) that is used for the notification of the user(s), if the attribute sstBackupWarningOn ist TRUE and the attribute sstNotificationWarningMedium ist set to mail . If sstNotificationWarningMediumAdd is set to TRUE and the backup service belongs to a personal account, the mail entry would be taken from the owners entry (ou=people). For a backup service belonging to another serviĉe, the selfcare would ask the user for the mail address.
| |
sstIsActive | |
|
|
|
Is the backup account active? Either TRUE (yes) or FALSE (no). Default is TRUE (yes) and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstUseSelfcare | |
|
|
|
Can the selfcare interface be used with the credentials of the backup account? Either TRUE (yes) or FALSE (no). Default is FALSE (no) and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstUseSSH | |
|
|
|
Is the ssh service active for the backup account? Either TRUE (yes) or FALSE (no). Default is TRUE (yes) and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
|
sstProvisioningMode | |
|
|
|
The provisioning mode, either add , modify or delete . For a new account, this attribute must be set to add . See Provisioning for details.
|
sstProvisioningExecutionDate | |
|
|
|
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 Provisioning for details. |
sstProvisioningReturnValue | |
|
|
|
The provisioning return value written by the prov-backup-rsnapshot daemon. 0 means success, >0 means failure. See the prov-backup-rsnapshot Exit Codes for detailed information. |
sstProvisioningState | |
|
|
|
The provisioning state, either 0 or in the form of [YYYY][MM][DD]T[hh][mm][ss] (ISO 8601). For a new account, this attribute must be set to 0. See Provisioning for details. |
sstBelongsToResellerUID | |
|
|
|
Stores the reseller UID the leaf belongs to. |
sstBelongsToCustomerUID | |
|
|
|
Stores the customer UID the leaf belongs to. |
sstBelongsToPersonUID | |
|
|
|
Stores the person UID the leaf belongs to. |
sstBelongsToServiceUID | |
|
|
|
Stores the service UID the leaf belongs to. |
Legend:
- x: Mandatory in all cases.
- x1: Only show, if the number is larger than zero.
- x2: Only show, if
sstBackupWarningOn
is set toTRUE
. - x3: Either
sstBelongsToPersonUID
orsstBelongsToServiceUID
must bei set.
Backup Groups
The sub tree for the groups of the (online) backup service:
dn: ou=groups,ou=backup,ou=services,dc=foss-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: groups description: The sub tree for the groups of the (online) backup service.
Backup Group Example
dn: cn=3723707,ou=groups,ou=backup,ou=services,dc=foss-cloud,dc=org objectclass: top objectclass: posixGroup objectclass: sstRelationship cn: 3723707 gidNumber: 3723707 sstIsActive: TRUE sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002
- Entscheid chroot-Umgebung. TMU/CAF/PKL/MEI
- chroot-Umgebung mit einer Kombination von busybox, Jailkit und dem täglich ablaufendem Backup-Script (als aufrufende Instanz)
- rsync vom Host (als static Binary)
- busybox vom Host (als static Binary)
- Verzicht auf Bind-Mount (.snapshots ist read only) -> CAF
- LDAP Struktur -> MEI/TMU
- Neuer Backup Server aufbauen (Gleicher Fingerprint) -> TMU/MEI
- Backup Script (prov-backup-rsnapshot) -> PKL
- SSHA Umstellung bei den Passwörtern -> MEI/CWI
Provisioning
Die Provisionierung benötigt die drei Attribute sstProvisioningMode und sstProvisioningState und sstProvisioningExecutionDate. Ablauf:
- sstProvisioningMode: Die Applikation Selfcare beschreibt das Attribut sstProvisioningMode mit den Werten add, modify der delete.
- sstProvisioningMode: add: Der Service soll hinzugefügt werden. Dieser Fall muss mehrmals nacheinander aufgerufen werden können. Beispiel: Bei Online Backup wurde die chroot-Umgebung bereits erstellt, dann müsste ein add nur noch kontrollieren, ob die chroot-Umgebung aktuell ist, falls nicht, müssten die entsprechenden Punkte aktualisiert werden.
- sstProvisioningMode: modify: Der Service soll modifiziert werden.
- sstProvisioningMode: delete: Der Service soll gelöscht werden.
- sstProvisioningExecutionDate: Die Applikation Selfcare beschreibt das Attribut sstProvisioningExecutionDate mit dem gewünschten Ausführungszeitpunkt. Zwei Fälle:
- 0: Dies bedeutet "sofort" und wird durch den Provisionierungs-Daemon provisioning.pl ausgewertet.
- [YYYY][MM][DD]: Das gewünschte Ausführungsdatum (ISO 8601). Muss mindestens ein Tag später als das aktuelle Datum sein, da diese Attribut durch ein alle 24 Stunden aufgerufenes Aufräum-Script gelesen wird. Der genaue Ausführungszeitpunkt kann somit nicht bestimmt werden (da abhängig vom Ausführungszeitpuntk der Aufräum-Scripts und der Anzahl anstehenden Aufgaben).
- sstProvisioningState: Die Applikation Selfcare oder der Provisionierungs-Daemon provisioning.pl beschreiben das Attribut sstProvisioningState:
- Keine Provisionierung nötig: Falls eine Änderung keine Provisionierung im Backend verlangt (zum Beispiel bei einer Passwört-Änderung), wird das Attribut sstProvisioningState direkt durch die Applikation Selfcare it dem aktuellen Datum und der aktuellen Zeit in Form von [YYYY][MM][DD]T[hh][mm][ss] ausfüllen (ISO 8601) beschrieben. In diesem Falle ignoriert der Provisionierungs-Daemon provisioning.pl die Modifikation.
- Provisionierung nötig: Falls eine Änderung eine Provisionierung im Backend verlangt (zum Beispiel bei einer Quota-Änderung), muss die Applikation Selfcare dieses Attribut auf den Wert 0 setzen. Nach der erfolgreichen Provisionierung muss Provisionierungs-Daemon provisioning.pl das Attribut sstProvisioningState mit dem aktuellen Datum und der aktuellen Zeit in Form von [YYYY][MM][DD]T[hh][mm][ss] ausfüllen (ISO 8601).
Die Applikation Selfcare darf erst dann wieder eine Modifikation durch einen Benutzer zulassen, wenn das Attribut sstProvisioningState einen gültigen Zeitstempel in der Form von [YYYY][MM][DD]T[hh][mm][ss] (ISO 8601) hat. Technisch gesehen muss der Provisionierungs-Daemon provisioning.pl im RefreshAndPersist Modus nur noch auf die LDAP-Mechanismen add und modify hören. Der LDAP-Mechanismus delete muss ignoriert werden.