Announcement

Collapse
No announcement yet.

DB auf beim Kunden existenter DB

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

  • DB auf beim Kunden existenter DB

    Bei einem Kunden besteht bereits eine Datenbank mit Interbase oder Firebird. Jetzt komm ich mit meiner neuen Software und einer Datenbank, Zugriff über Delphi, über Delphi wird automatisch eingelogt. Ich kenn das Passwort des SYSDBA nicht und kann deshalb keinen zusätzlichen User einrichten, der auf meine Datenbank zugreifen kann. Und wie bekomme ich meine DB gegenüber dem existenten SYSDBA abgesichert? Keiner soll meine Stored Procs lesen können oder den Tabellenaufbau sehen können.

    Hat wer Ansätze, die weiterhelfen? Oder ist das mit Interbase nicht möglich?

  • #2
    Hi Friedhelm,

    du hast doch wohl eine eigene Datenbank, oder baut das auf der vorhandenen auf ? Im ersten Fall verstehe ich den Sinn der Fage nicht. 8

    Comment


    • #3
      Hallo Hans-Jörg,

      gemeint hab ich folgendes:
      Viele Leute haben Interbase oder Firebird bereits installiert. Und damit auch die security.fdb oder isc4.gdb. In dieser DB sind alle User samt Passwort gespeichert.

      Zu meiner Software liefer ich eine neue DB, z.B. Schrank.gdb. In Schrank.gdb kann ich aber keine User samt Passwort anlegen (oder doch?).

      Meine Datenstruktur soll für den Anwender nicht sichtbar sein. Über Delphi (womit der User die Daten eingibt) möchte ich den User bei der DB anmelden ohne User-Login

      Comment


      • #4
        Passwort und User liegen in der DB. Wo denn sonst ? Du verwechselst offensichtlich das DBMS (in diesem Falle Interbase) mit der DB.

        Ist Interbase installiert, so kommst Du auch an die DB dran, egal welches Passwort die hat, ohne bestehende Datenbanken zu stören

        Comment


        • #5
          Hallo Friedhelm,
          <br><br>
          was Du hier beschreibst ist ein bekanntes "Problem" und leider nicht lösbar. InterBase-Benutzer werden serverweit in der Benutzerdatenbank isc4.gdb, security.fdb bzw. admin.ib (je nach verwendeter InterBase/Firebird Version) abgelegt. D.h. man kann keine InterBase-Benutzer in der eigenen Datenbank ablegen, um somit z.B. andere InterBase-Benutzer auszusperren. Kennt jemand eine gültige Benutzer/Passwort Kombination auf diesem Server, dann kann er sich zu Deiner Datenbank verbinden, sofern er natürlich weiß, wo die Datenbank liegt. Noch schlimmer ist es natürlich, wenn jemand physischen Zugriff auf die Datenbankdatei hat, weil dann kann diese einfach kopiert werden und unter einer frischen InterBase-Installation mit SYSDBA/masterkey geöffnet werden.
          <br><br>
          Wenn am Zielrechner bereits InterBase/Firebird installiert ist, dann kann man eigentlich nur zum Administrator gehen, der den IB/FB-Server verwaltet und ihn bitten, einen Benutzer für die eigene Datenbank zu erstellen, die dem Eigentümer der Datenbank entspricht. Eigentümer = Benutzer mit dem die Datenbank erstellt wurde. Hier zeigt sich schon ein Grund, warum man für eine Produktionsdatenbank *NIE* SYSDBA verwenden sollte!
          <br><br>
          Es gibt einen Trick um Benutzer aus einer Datenbank auszuschließen, nämlich durch Anlegen einer gleichnamigen Role, direkt über die Systemtabellen. Dies ist aber kein echter Schutz, da man dies mit einem Hex-Editor wieder aushebeln könnte.
          <br><br>
          AFAIK, InterBase 7.5 wird die Möglichkeit bieten, Benutzer und Passwörter auch in der eigenen Datenbank abzulegen. http://blogs.teamb.com/craigstuntz
          <br><br>
          Schöne Grüße,
          <br>
          Thoma
          Thomas Steinmaurer

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

          Comment

          Working...
          X