![]() |
Datenbank: Firebird • Version: 3.x • Zugriff über: IBExpert
IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Hallo
Heute habe ich mal aus Versehen das DB - Kennwort meines Chefs geändert. Ich nutze die Protokollierung der Metadatenänderung, um mit dem Script dann die Updates auf dem Server zu machen. Auf meinem Entwicklernotebook musste ich heute zum Test meine Anwendung 2 Mal mit unterschiedlichem Benutzer starten. Da mein Chef die zum Test benötigten Rechte hat und ich sein Kennwort nicht kenne, hab ich es lokal bei mir mal geändert. Als dann das Update auf dem Server lief, sah ich noch das:
SQL-Code:
und schon war es geschehen :)
ALTER USER CHEF
PASSWORD '123' TAGS (Uid='', Gid=''); Ist kein Problem, da ich ein gutes Verhältnis zu meinem Chef habe. Aber ich bin der Meinung, dass IBExpert bisher Änderungen des Kennwortes nicht mit in das Script geschrieben hat. Ich denke auch, dass das nicht in das Update - Script gehört. Kann man das abschalten? Frank |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Das Log deaktivieren? :stupid:
Sieht nicht danach aus. :shock: Wir haben hier noch ein paar IB/FB-Experten im Form ... vielleicht fällt ihnen noch ein Trick Tipp ein. Aber wenn selbst IBExpert nichtmal sowas macht (das Programm, nicht der gleichnamige Nutzer hier), dann seh' ich nicht wirklich ein Licht am Ende des Tunnels Netzwerkkabels. ![]() ![]() Das Passwort wird zwar verschlüsselt gehasht gespeichert, aber übergeben kann man es scheinbar nicht direkt so. Andere DBMS haben so eine Möglichkeit.
SQL-Code:
ALTER USER username PASSWORD 'password'
ALTER USER username ENCRYPTED PASSWORD 'vorberechneter-hash' ![]() |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Ins Log gehört das natürlich nicht im Klartext :-)
Aber beim Extract Metadata möchte ich nicht darauf verzichten es im Script zu haben! |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Moin, ich kann nachvollziehen, das es stört
Aber Sachstand ist: das Log ist dafür da, die Befehle reproduzierbar zu speichern, so das man sehe kann, was gemacht wurde und wenn man will, die gleichen Befehle zum Beispiel auf einem anderen Server nachträglich auszuführen. Der sql Befehl, das Kennwort zu ändern, muss genau so im Klartext generiert werden. Das Log ist ja auch nicht aktiv by default und wer zugriff darauf hat, legt ja auch der fest, der den IBExpert dafür benutzt. Wenn das Log in deinem Userprofil angelegt wird, hat ja erst mal sonst keiner Zugriff drauf. Wenn das nicht in das IBExpert Log soll, mach die Kennwort Änderungen über eine extra Connection, in der das Log nicht aktiv ist oder benutze isql oder sogar gsec falls in deiner fb version noch existent. gsec mit commandline parameter password auch im Klartext könnte man aber als Befehlszeile im Taskmanager auch kurzzeit sehen oder mit sysinternals processmonitor ins protokoll schreiben lassen. Ohne aktives log mit extra connection würde das in IBExpert gemacht nirgendwo sichtbar sein. |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
und falls ihr die synchronität zwischen deiner lokalen datenbank und der im firmennetz live synchron halten wollt (was wir zB für eine Serverfarm mit 10 Servern benutzen), kannst du auch mal hier nachschauen, das geht via after ddl execute script in der database registration und da kannst du dann zum Beispiel Statements, die alter password enthalten, einfach ignorieren. Setzt so wie hier gezeigt voraus, das die Server erreichbar sind, du kannst damit aber auch ganz einfach dein metadata log selber filtern und nur das in eine textdatei speichern, was du für sinnvoll hältst und das statt dem automatisch generierten log weitergeben.
![]()
Code:
execute ibeblock (
Statements variant) as begin foreach (Statements as Stmt key StmtID skip nulls) do begin DB2 = ibec_CreateConnection(__ctFirebird, 'DBName="LOCALHOST/3050:D:\db\r2.fdb"; ClientLib=gds32.dll; User=SYSDBA; Password=masterke; Names=UTF8; SqlDialect=3;'); use db2; execute statement :Stmt; commit; ibec_CloseConnection(db2); DB3 = ibec_CreateConnection(__ctFirebird, 'DBName="LOCALHOST/3050:D:\db\r3.fdb"; ClientLib=gds32.dll; User=SYSDBA; Password=masterke; Names=UTF8; SqlDialect=3;'); use db3; execute statement :Stmt; commit; ibec_CloseConnection(db3); end end |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Zitat:
Frank |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Zitat:
Hier würde es sich dennoch anbieten, bei "Datenbank Registrierungsinfo" unter "Protokollierung" für "Kennwort-Änderung" auch einen Schalter bereitzustellen. Das wäre hilfreich für Entwickler wie mich, die nur Strukturänderungen der DB von ihrem Entwicklerrechner auf die DB' s der Server übertragen wollen. Danke auch für die anderen Erläuterungen. Damit komme ich dann auch klar. Frank |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Zitat:
|
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Wenn aus nachvollziehbaren Gründen Passwörter im Klartext durch die Security verboten sind, dann darf man das Logging eben nicht aktivieren.
Man sollte da auch immer Zwischen Produktiv- und Entwicklungsumgebungen unterscheiden. Grundsätzlich sollten die Möglichkeiten in IBExpert so bleiben wie sie sind! Für den Rest ist der User selbst verantwortlich. |
AW: IBExpert - Kennwortänderung wird ins Protokoll geschrieben?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz