在InterBase中更改SYSDBA用户密码



我正在使用InterBase 2020版本。由于InterBase安装时默认用户为SYSDBASYSDBA的默认密码为masterkey,因此我想更改SYSDBA用户的密码。

使用gsec工具,我可以更改密码,但当我备份数据库并将其恢复到SYSDBA密码为masterkey的不同机器上时,我能够成功地做到这一点。

因此,即使我更改了机器上的密码,InterBase数据库备份(更改了SYSDBA密码(也可以在SYSDBA密码为masterkey的机器上恢复。这种情况下的安全措施在哪里?我如何防止这种情况发生?

嵌入式用户身份验证是防止未经授权的用户恢复数据库的解决方案吗?

您必须在数据库中激活嵌入式用户身份验证。因此,您可以使用不同的密码为每个数据库定义不同的SYSDBA。

我找到了一个解决方案。以下Delphi组件用于此:

  1. TFDIBSecurity
  2. TFDPhysIBDriverLink

以下Delphi代码可用于更改SYSBDA用户密码:

FDIBSecurity1.DriverLink := FDPhysIBDriverLink1;
FDIBSecurity1.Host := '127.0.0.1';
FDIBSecurity1.UserName := 'SYSDBA';
FDIBSecurity1.Password := 'masterkey';    // Original password
FDIBSecurity1.AUserName := 'SYSDBA';      // User for which password needs to be changed
FDIBSecurity1.APassword := 'N3wPa$$w0rd'; // new password
FDIBSecurity1.ModifyUser;

相关内容

  • 没有找到相关文章

最新更新