Firebird / Interbase - 创建没有SYSDBA的新用户/视图

时间:2014-01-14 18:28:41

标签: firebird interbase sysdba

我正在开发需要Firebird DB数据的应用。创建此DB的人忘记了SYSDBA密码,我需要创建新用户或只是查看。与DB通信的其他应用程序也具有未知用户。但我可以连接到数据库服务器,所以我看到了DB文件系统。我知道MySQL有后门,Firebird也应该有,对吧?

1 个答案:

答案 0 :(得分:3)

Firebird没有这样的后门。但您可以将数据库移动到另一个Firebird安装(或使用另一个Firebird安装中的security2.fdb),在那里您知道SYSDBA的密码。

其他选项包括通过以RDB$ADMIN角色的成员身份登录来重置密码,但这假设这是SYSDBA早先在安全数据库和一个普通数据库中授予的。或使用受信任的身份验证作为Windows管理员组的成员。但是在Firebird 2.5下,这需要为安全数据库启用AUTO ADMIN MAPPING(这不是默认值)。

有关详细信息,请参阅SQL user management commands

也就是说,建议将“普通”用户设置为数据库的所有者和RDB$ADMIN,并使用该用户添加或修改数据库的结构(但在这种情况下,很可能需要SYSDBA帐户)。