【发布时间】:2014-01-14 18:28:41
【问题描述】:
我正在开发需要来自 Firebird DB 的数据的应用程序。创建此数据库的人忘记了 SYSDBA 密码,我需要创建新用户或只是查看。与 DB 通信的其他应用程序也有未知用户。但是我可以连接到数据库服务器,所以我看到了数据库文件系统。我知道 MySQL 有后门,Firebird 应该也有,对吧?
【问题讨论】:
我正在开发需要来自 Firebird DB 的数据的应用程序。创建此数据库的人忘记了 SYSDBA 密码,我需要创建新用户或只是查看。与 DB 通信的其他应用程序也有未知用户。但是我可以连接到数据库服务器,所以我看到了数据库文件系统。我知道 MySQL 有后门,Firebird 应该也有,对吧?
【问题讨论】:
Firebird 本身没有后门。但是您可以将数据库移动到另一个 Firebird 安装(或使用另一个 Firebird 安装中的 security2.fdb),在那里您确实知道 SYSDBA 的密码。
其他选项包括通过以RDB$ADMIN 角色的成员身份登录来重置密码,但这假设这是由SYSDBA 早些时候在安全数据库和一个普通数据库中授予的。或者使用受信任的身份验证作为 Windows 管理员组的成员。但是在 Firebird 2.5 下,这需要为安全数据库启用 AUTO ADMIN MAPPING(这不是默认设置)。
详情请见SQL user management commands。
也就是说,建议将“普通”用户设置为数据库的所有者和 RDB$ADMIN,并使用该用户添加或修改数据库的结构(但在这种情况下,很可能需要 SYSDBA帐户)。
【讨论】: