painting perth

Все ленты — последние статьи

Как изменить пароль SYSDBA в FireBird

Сегодня возник вопрос как изменить пароль для SYSDBA. Рассмотрим как это сделать стандартными средствами, а именно утилитой GSEC.

GSEC — это утилита для работы с базой данных безопасности (содержащей информацию о пользователях СУБД). Она позволяет управлять учетными записями пользователей для различных баз данных СУБД Firebird. Используя различные опции, можно добавлять, изменять или удалять учетные записи пользователей из базы данных безопасности.

Информация обо всех пользователях баз данных СУБД Firebird хранится в общей базе данных безопасности. Это обычная база данных СУБД Firebird, которая располагается на сервере, и называется security.fdb. Начиная с СУБД Firebird 2 она называется security2.fdb. По умолчанию этот файл располагается в директории:

C:\Program Files\Firebird\Firebird_x_x

для ОС Windows (где x_x — версия Firebird, например 1_5).

 
/opt/firebird

для ОС Linux и других Unix-систем.
Вносить изменения в базу данных безопасности может только пользователь SYSDBA. Обычный пользователь может запустить GSEC только для просмотра информации.

Первоначально, при установке сервера (под Windows), пользователю SYSDBA присваивается стандартный пароль masterkey. Этот пароль НЕОБХОДИМО поменять после установки сервера. В противном случае, вы подвергаете опасности как данные в БД, так и саму БД, в силу того, что пользователь SYSDBA обладает наивысшими правами доступа к БД.

Для изменения стандартного пароля, воспользуемся утилитой GSEC, из стандартного набора сервера Firebird. Эта утилита находится в папке bin каталога, куда установлен Firebird.

В моем случае для Firebird 2.5.2 x32, Windows 7 Professional x64 это папка:
«c:\Program Files (x86)\Firebird\Firebird_2_5\bin\»

Запускаем командную строку и выполняем следующие команды:

 
U:\>c:
C:\>cd "c:\program files (x86)\firebird\firebird_2_5\bin\"
c:\Program Files (x86)\Firebird\Firebird_2_5\bin>gsec -user SYSDBA -password masterkey
GSEC> modify SYSDBA -pw newpassword
Warning — maximum 8 significant bytes of password used
GSEC> quit
c:\Program Files (x86)\Firebird\Firebird_2_5\bin>

Можно также выполнить следующую команду

 
c:\>"c:\Program Files (x86)\Firebird\Firebird_2_5\bin\gsec" -user SYSDBA -password masterkey -modify SYSDBA -pw newpassword

что приведет к тому же результату.

Следует помнить, что Firebird воспринимает только первые 8 символов пароля, остальные отбрасывает, так что создавать избыточно длинный пароль для SYSDBA смысла не имеет.