11.1.1. Specially Privileged Users
In Firebird, the SYSDBA account is a “Superuser” that exists beyond any security restrictions. It has complete access to all objects in all regular databases on the server, and full read/write access to the accounts in the security database security2.fdb
. No user has access to the metadata of the security database.
The default SYSDBA password on Windows and MacOS is “masterkey” — or “masterke”, to be exact, because of the 8-character length limit.
Extremely Important! The default password “masterkey” is known across the universe. It should be changed as soon as the Firebird server installation is complete. |
Other users can acquire elevated privileges in several ways, some of which are dependent on the operating system platform. These are discussed in the sections that follow and are summarised in Administrators.
POSIX Hosts
On POSIX systems, including MacOSX, Firebird will interpret a POSIX user account as though it were a Firebird user account in its own security database, provided the server sees the client machine as a trusted host and the system user accounts exist on both the client and the server. To establish a “trusted” relationship with the client host, the corresponding entries must be included in one of the files /etc/hosts.equiv
or /etc/gds_hosts.equiv
on Firebird’s host server.
The file
hosts.equiv
contains trusted relationships at operating system level, encompassing all services (rlogin, rsh, rcp, and so on)The file
gds_hosts.equiv
contains trusted relationships between Firebird hosts only.
The format is identical for both files and looks like this:
hostname [username]
The SYSDBA
User on POSIX
On POSIX hosts, other than MacOSX, the SYSDBA
user does not have a default password. If the full installation is done using the standard scripts, a one-off password will be created and stored in a text file in the same directory as security2.fdb
, commonly /opt/firebird/
. The name of the password file is SYSDBA.password
.
In an installation performed by a distribution-specific installer, the location of the security database and the password file may be different from the standard one. |
The root User
The root user can act directly as SYSDBA
on POSIX host systems. Firebird interprets root as though it were SYSDBA
and it provides access to all databases on the server.
Windows Hosts
On Windows server-capable operating systems, operating system accounts can be used. Trusted Authentication must be enabled by setting the Authentication parameter to Trusted or Mixed in the configuration file, firebird.conf
.
Even with trusted authentication enabled, Windows operating system Administrators are not automatically granted SYSDBA privileges when they connect to a database. To make that happen, the internally-created role RDB$ADMIN
must be altered by SYSDBA or the database owner, to enable it. For details, refer to the later section entitled AUTO ADMIN MAPPING
.
The embedded version of Firebird server on Windows does not use server-level authentication. However, because objects within a database are subject to SQL privileges, a valid user name and, if applicable, a role, may be required in the connection parameters.
The Database Owner
The “owner” of a database is either the user who was CURRENT_USER
at the time of creation or, if the parameters USER
and PASSWORD
were supplied in the CREATE DATABASE
statement, the user cited there.
“Owner” is not a user name. The user who is the owner of a database has full administrator rights with respect to that database, including the right to drop it, to restore it from a backup and to enable or disable the AUTO ADMIN MAPPING
capability.
Prior to Firebird 2.1, the owner had no automatic privileges over any database objects that were created by other users. |