Modifying users in security database

Here is concise list of available methods for modifying users in security database, along with their advantages and disadvantages.

Important notes:

It should be noted that all these methods remain available even for modified security database. (I received several e-mails from people who asked how to encrypt the password because they thought they have to connect to modified security database and change password using SQL directly.) The modification solves only security/privileges problems, and does not limit the ability to modify users using your preferred method in any way.

  Services API + no need to know path to security database or GSEC tool
- not available on Classic server and old IB4 and IB5 (but available on Firebird 2 Classic)
ex isc_service_attach(), isc_service_start(), isc_service_query(), isc_service_detach()
  GSEC utility + standard tool, available on all platforms, all versions
ex GSEC -US SYSDBA -PA masterkey -DISP
  Direct update
  of security database
+ works with all FB and IB versions (does not work with Firebird 2)
- you need to know path to security database (available through Services API)
- you need to encrypt the password
  for those who insist on using SQL commands to update users
  Old security API + available since IB5
- since its introduction considered deprecated in favor of new Services API
- no function to get list of users
ex isc_add_user(), isc_modify_user(), isc_delete_user()
  Old Services API - works with IB4,IB5 only, not available in Firebird and IB6+
- API is not published and works with old IBServerManager utility only
  Note that new Services API introduced in IB6 is completely different than Old Servies API from IB4/IB5
  Third party tools IBOConsole (
IBExpert (
IBAccess (
IBEasy (
  Components IBX - IBSecurityService (standard Delphi components)
IBOAdmin (
bdslib (
FIBPlus - pFIBSecurityService (

Copyright © 2004, 2006 Ivan Prenosil