Database 忘记了*fdb(firebird)数据库的用户名和密码。我能破解这个数据库吗?
我有超过8GB的firebird数据库,我想从中迁移所有数据。但是我忘记了用户名和密码。是否有任何工具可以破解此数据库并取回数据?在大多数Firebird设置中,用户名和密码保存在中央安全数据库中(Firebird 3的情况下为security3.fdb)。如果您不再知道用户的用户名和密码,您可以选择以下选项 请注意,此答案使用Firebird 3作为基础,但大多数选项也适用于Firebird 2.5及更早版本。使用Database 忘记了*fdb(firebird)数据库的用户名和密码。我能破解这个数据库吗?,database,security,firebird,cracking,firebird-3.0,Database,Security,Firebird,Cracking,Firebird 3.0,我有超过8GB的firebird数据库,我想从中迁移所有数据。但是我忘记了用户名和密码。是否有任何工具可以破解此数据库并取回数据?在大多数Firebird设置中,用户名和密码保存在中央安全数据库中(Firebird 3的情况下为security3.fdb)。如果您不再知道用户的用户名和密码,您可以选择以下选项 请注意,此答案使用Firebird 3作为基础,但大多数选项也适用于Firebird 2.5及更早版本。使用security2.fdb代替security3.fdb。create user
security2.fdb
代替security3.fdb
。create user
和alter user
步骤仅适用于Firebird 2.5或更高版本
RDB$ADMIN
角色的其他用户)通过任何其他数据库重置用户的密码gsec
作为SYSDBA重置密码SecurityDatabase
设置,从databases.conf
中删除该设置
对于Firebird 3,此答案假设为Srp身份验证机制创建了用户,下面的步骤假设Firebird安装中的Firebird.conf
具有设置AuthServer=Srp
(或者至少设置AuthServer
包含Srp
)设置UserManager=Srp
(或者至少Srp
是UserManager
的第一个条目)
选项1:重置密码
适用于Firebird 2.5及更高版本
使用SYSDBA(或安全数据库上具有管理员角色的其他用户)连接到数据库,并使用
在gsec提示下
modify <username> -pw <new password>
并创建一个数据库
create database '<path-of-database>';
创建数据库“”;
然后,您可以在前面的步骤中使用该数据库。我没有.FDB文件的密码。我无法将其导出到任何工具中,您提供给我的链接与服务器有关。数据库是否使用中央安全数据库(默认设置),或者它是否包含自己的安全数据库?用户名和密码存储在安全数据库文件中,而不是数据数据库文件中。当然,在FB3.0中有一个技巧,即数据数据库文件本身可以是一个安全数据库文件。然而,这是一种罕见的情况,你不需要这样做。使用Firebird的SYSDBA“绝对用户”,并对该数据库执行您喜欢的操作…除非他真正指的“密码”是某种神秘的加密插件。我们不切换到FB3的原因之一。。。我们希望保留旧Interbase的“dba admin not required”状态,这是我们的一些客户所需要的it@Arioch“你是对的,我已经更新了答案适用的版本。
gsec -user sysdba
modify <username> -pw <new password>
add <username> -pw <new password>
isql -u sysdba <database>
create user sysdba password '<sysdba password>';
commit;
create user <username> password '<new password>';
commit;
isql -u sysdba
create database '<path-of-database>';