Announcement

Collapse
No announcement yet.

Firebird Installation bei bestehender Installation und geändertem SYSDBA-Passwort

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Firebird Installation bei bestehender Installation und geändertem SYSDBA-Passwort

    Hallo,

    ich habe ein Problem mit dem nicht durchdachten Sicherheitsbedürfnis eines anderen Softwareentwicklers...

    Ich will gemeinsam mit meinem Programm einen Firebird-Server auf einem Rechner installieren. Auf diesem Rechner könnte allerdings schon ein Firebird / Interbase Server laufen. Soweit kein Problem, aber wenn diese andere Anwendung das SYSDBA-Passwort geändert hat, kann ich keine eigenen User mehr anlegen, die ich zum Zugriff auf mein Programm benötige.

    Theoretisch könnte ich die Passwort-Datenbank löschen und neu installieren. Damit bremse ich aber die andere Anwendung aus.

    Das Ganze passiert irgendwo beim Kunden, so dass ich auch nicht die Möglichkeit habe das geänderte Passwort zu ermitteln. Meistens weiß der Kunde nicht mal, dass auf seinem Rechner schon ein Firebird-Server läuft und noch weniger kann er mir das Passwort geben. Zum Schluss bin ich dann schuld, dass meine Installation nicht funktioniert.

    Hat irgend jemand eine Idee?

    Frank

  • #2
    Hallo Frank,
    <br><br>
    das Problem mit dem SYSDBA-Benutzer und Passwort bei einer bereits existierenden InterBase/Firebird wird immer ein Problem sein, solange die Benutzer/Passwörter server-weit, und nicht pro Datenbank abgelegt sind. Den SYSDBA wirst immer irgendwie brauchen, wenn Du entweder auf Deine Datenbank mit SYSDBA drauf mußt (was ich nie tun würde, sondern die Datenbank und Datenbankobjekte immer mit einem anderen Benutzer als SYSDBA pflegen), oder wenn Du zumindest einmal das Passwort für den "fremden" SYSDBA benötigst, um z.B. einen eigenen IB/FB-Benutzer anzulegen.
    <br><br>
    Eine Möglichkeit wäre, Firebird 1.5 zu verwenden, und diesen parallel zu einer bestehenden IB/FB-Installation betreiben, was ja mit dem Firebird 1.5 Parameter <b>RemoteServicePort</b> in <b>firebird.conf</b> möglich ist. Für eine Parallelinstallation ist allerdings der Windows-Installer von Firebird 1.5 noch nicht wirklich ausgelegt (AFAIK).
    <br><br>
    Eine weitere Möglichkeit wäre, sofern es sich um eine klassische Einbenutzerinstallation handelt, dass Du die <b>Embedded Server</b> Variante von Firebird 1.5 verwendest. Der Vorteil hierbei ist, dass Du bzgl. Firebird nichts installieren mußt, sondern den Embedded Server einfach im selben Verzeichnis wie Deine Anwendung weitergibst. Beim Embedded Server wird auch keine Authentifikation über Benutzer/Passwort durchgeführt. Wie gesagt, das ist halt für eine reine Einzelplatzinstallation ohne Remotezugriff auf die Datenbank. Mehr zum Embedded Server findest Du in den Firebird 1.5 Release Notes, die es auch auf Deutsch gibt. http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download_15
    <br><br>
    Schöne Grüße,<br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Thomas,

      vielen Dank für deine Anregungen.

      Ich muss mein Programm sowohl als Einzelplatz als auch als Client-Server-Netzwerk installieren.
      Die Möglichkeit, die Embedded Server Variante von Firebird 1.5 für die Einzelplatzlösung zu nutzen, wird möglicherweise mein Problem lösen können.
      Für die 'große' Serverinstallation sollte der Systemadministrator des Servers dann doch die Passworte seiner Datenbanken kennen.

      Gibt es zwischen den zwei Installationsmöglichkeiten noch irgendwelche versteckten Unterschiede oder Fallstricke, die ich dabei beachten muss?

      Viele Grüße

      Fran

      Comment


      • #4
        Hallo Frank,
        <br><br>
        es gibt eigentlich keine wirklichen Fallstricke, die Du beachten müßtest. Mit dem Embedded Server bekommst Du einen vollständigen Server in der SuperServer Architektur in einer DLL. Welche Dateien Du mit Deiner Anwendung weitergeben mußt, das steht alles in den Firebird 1.5 Release Notes drinnen. Der Embedded Server ist ein vollständiger Server inkl. Transaktionen, Stored Procedures, Trigger, usw ... d.h. hier gibt es keine Einschränkungen. Somit kannst Du Deine Datenbank z.B. mit dem normalen Server auf der Entwicklungsmaschine entwickeln, und ungeändert mit dem Embedded Server weitergeben. Du solltest allerdings beachten, dass keine Benutzerauthentifikation durchgeführt wird (genau das möchtest Du ja), und des weiteren wird nach der Verbindung zur Datenbank mit dem Embedded Server diese Datenbank exklusiv gesperrt, d.h. Du kannst Dich zu dieser Datenbank nicht über einen anderen Embedded Server oder normalen Server verbinden. Wie gesagt, dies ist wirklich für eine reine Einzelplatzinstallation. Solltest Du dann eine Client/Server-Installation brauchen, dann einfach den normalen Firebird Server installieren, und auf die Datenbank, die hierfür nicht geändert werden muss, verbinden. Der Embedded Server unterstützt auch keine Remote-Verbindungen (auch nicht über localhost:c:\...) und Registryeinträge sind ihm auch egal. Alles weitere solltest Du in den Releas Notes zu Firebird 1.5 finden.
        <br><br>
        Schöne Grüße,
        <br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Hallo Frank,

          ich habe bei meiner Installation das gleiche Problem. Falls Firebird bereits installiert ist, öffne ich während der Installation ein Dialogfeld (kleines vb-Sckript) für die Eingabe des sysdba Passworts (Defaultvorgabe masterkey). Erst danach lege ich dnn meine Datenbankbenutzer mit gsec an.
          Ich bin der Meinung, dass der Anwender dieses Passwort kennen sollte und bin gespannt auf die Praxiserfahrung mit diesem Ansatz ;-)

          Gruß
          Michae

          Comment

          Working...
          X