我正在开发需要Firebird DB数据的应用程序。创建此数据库的人忘记了SYSDBA密码,我需要创建新用户或只是查看。与 DB 通信的其他应用程序也有未知用户。但是我可以连接到数据库服务器,所以我可以看到数据库文件系统。我知道MySQL有后门,Firebird也应该有,对吧?
Firebird本身没有后门。但是您可以将数据库移动到另一个 Firebird 安装(或使用另一个 Firebird 安装中的security2.fdb
),在那里您知道 SYSDBA
的密码。
其他选项包括通过以 RDB$ADMIN
角色的成员身份登录来重置密码,但这假定这是之前通过在安全数据库和一个普通数据库中SYSDBA
授予的。或者使用受信任的身份验证作为 Windows 管理员组的成员。但是,在Firebird 2.5下,这要求为安全数据库启用AUTO ADMIN MAPPING
(这不是默认值)。
有关详细信息,请参阅 SQL 用户管理命令。
也就是说,建议将"普通"用户设为数据库的所有者和RDB$ADMIN
,并使用该用户添加或修改数据库的结构(但在这种情况下,这很可能需要 SYSDBA 帐户)。