Wenn Sie eine OpenOffice.org-Datenbank betrachten, gibt es keine Möglichkeit, Benutzerkonten hinzuzufügen. Zumindest nicht direkt. Das Geheimnis ist, ein wenig SQL zu verwenden.

Irgendwann wird jeder OpenOffice.org Base-Entwickler anfangen, sich Gedanken über die Sicherheit seiner Datenbank zu machen. Zum Beispiel können sie es wünschen:

  • individuelle Benutzerkonten erstellen
  • nur bestimmten Benutzern erlauben, die Daten in einigen Tabellen zu aktualisieren, während andere die Daten nur lesen dürfen

Und natürlich werden sie feststellen, dass es keine offensichtliche Möglichkeit gibt, dies zu tun. Das liegt daran, dass OpenOffice.org Base keine eigene, eingebaute Sicherheit hat. Stattdessen verlässt es sich auf die Tatsache, dass:

  • das Betriebssystem (z. B. Linux oder Windows) eigene Benutzerkonten hat (oder haben sollte)
  • Back-End-Datenbanken (z. B. MySQL) haben ihre eigene Sicherheit

Allerdings ist es dieser letzte Punkt, der es dem OpenOffice.org Base-Entwickler ermöglicht, eine gewisse Sicherheit einzuführen. Sie können die Tatsache ausnutzen, dass OpenOffice.org Base keine eigenständige Datenbank ist. Es verwendet tatsächlich eine eingebettete Datenbank. Das Geheimnis besteht also darin, sich mit der Sicherheit dieser eingebetteten Datenbank zu beschäftigen. Und diese eingebettete Datenbank ist HSQLDB. Sobald der Datenbankentwickler erkannt hat, dass die OpenOffice.org Base-Datenbank eigentlich eine eingebettete HSQLDB-Datenbank ist, wird er auch erkennen, dass er SQL zum Erstellen von Benutzerkonten verwenden kann.

Das Standard-HSQLDB-Benutzerkonto

Es mag den Datenbankentwickler überraschen zu erfahren, dass OpenOffice.org Base bereits ein Benutzerkonto hat. Dieses Benutzerkonto (mit dem Namen SA) wird von OpenOffice.org für den Zugriff auf die eingebettete HSQLDB verwendet, ist aber für den Benutzer unsichtbar, weil:

  • es hat kein Passwort
  • er hat Berechtigungen auf Administratorebene, d. h. der Benutzer kann Tabellen, Abfragen usw. erstellen.

Es ist wichtig, dass der Entwickler nichts mit diesem Konto macht. Zum Beispiel:

  • sie dürfen dem Konto kein Passwort hinzufügen
  • sie dürfen das Konto nicht löschen (oder löschen lassen)

Wenn sie eines von beiden tun, wird die Datenbank unbrauchbar. Die Antwort ist, dieses Konto in Ruhe zu lassen und neue Konten hinzuzufügen, wobei es wichtig ist, dass das erste Konto als Administrator eingestellt ist.

So erstellen Sie eine OpenOffice.org-Datenbankanmeldung: Hinzufügen von Benutzerkonten und Kennwörtern zu einer Basisdatenbank
So erstellen Sie eine OpenOffice.org-Datenbankanmeldung: Hinzufügen von Benutzerkonten und Kennwörtern zu einer Basisdatenbank

Hinzufügen eines Administratorkontos zu OpenOffice.org Base

Es gibt keine benutzerdefinierte GUI (grafische Benutzeroberfläche) zum Hinzufügen neuer Benutzerkonten. Der Entwickler muss daher die SQL-Schnittstelle von Base verwenden. Auf diese greifen sie zu, indem sie auf klicken:

  • Werkzeuge
  • SQL…

Dann müssen Sie nur noch das SQL zum Anlegen des neuen Benutzers eingeben (wie in Abbildung 1 am Ende dieses Artikels dargestellt):

Benutzer anlegen admin Passwort admin_user admin

Das Schlüsselwort “admin” stellt sicher, dass das Benutzerkonto mit Administratorrechten erstellt wird. Dies ist notwendig, da alle Konten, die ohne dies erstellt werden, standardmäßig den Status “Nur Lesen” haben.

Erzwingen von Benutzerpasswörtern in OpenOffice.org Base

Leider wird das neue Konto von Base noch nicht erkannt. Wenn die Datenbank geschlossen und dann wieder geöffnet wird, verwendet sie immer noch das Standard-SA-Konto. Der Datenbankdesigner muss eine Datenbankdatei im Hintergrund bearbeiten, damit der Passwortschutz aufgerufen werden kann. Der Vorgang ist recht einfach:

  • Schließen Sie die Datenbank
  • ein Dateiarchivierungsprogramm wie z. B. 7-Zip erhalten
  • Öffnen Sie die Datenbank mit dem Dateiarchivierungswerkzeug

Der Entwickler sieht nun eine Reihe von Dateien und Unterverzeichnissen, ist aber nur an einer davon interessiert

  • content.xml

Der nächste Schritt ist das Editieren dieser Datei und die Suche nach :

<db:login db:is-password-required=”false”/>

Dies (wie in Abbildung 2 gezeigt) sollte geändert werden in:

<db:login db:is-password-required=”true”/>

Die Datenbank ist nun fast einsatzbereit und der Entwickler muss:

  • Speichern Sie die geänderte content.xml zurück in das Datenbankarchiv
  • Schließen Sie das Dateiarchivierungswerkzeug
  • Öffnen Sie die Datenbank erneut mit OpenOffice.org Base

Der Benutzer wird nun aufgefordert, einen Benutzernamen und ein Passwort einzugeben (siehe Abbildung 3). Es ist auch erwähnenswert, dass jeder, der über Writer oder Calc auf die Datenbank zugreift, die gleiche Aufforderung sieht (wie in Abbildung 4 gezeigt).

Einschränkungen der OpenOffice.org Basispasswörter

Es ist wichtig, sich daran zu erinnern:

  • dass der Passwortschutz wieder ausgeschaltet werden kann, indem Sie die Datei content.xml bearbeiten und die Eigenschaft “is-password-required” wieder auf false ändern
  • Wenn Base geöffnet und das Kennwort eingegeben wird, sind die Daten für Writer oder Calc auch ohne das Kennwort verfügbar (da alles als eine einzige Sitzung gezählt wird). Das heißt, wenn Base geschlossen wird, ist die Sitzung noch für Writer und Calc verfügbar. Die Sitzung endet erst, wenn OpenOffice.org komplett geschlossen wird

Aber selbst mit diesen Einschränkungen bietet dies eine einfache, aber effektive Möglichkeit, die Daten in einer OpenOffice.org Base-Datenbank vor dem wahllosen Missbrauch durch einen typischen Benutzer zu schützen.