Firebird/Interbase - создать нового пользователя / представление без SYSDBA

Я занимаюсь разработкой приложения, которому нужны данные из БД Firebird. Парень, который создал эту БД, забыл пароль SYSDBA, и мне нужно создать нового пользователя или просто просмотреть. Другие приложения, которые взаимодействуют с БД, также имеют неизвестных пользователей. Но я могу подключиться к серверу БД, чтобы увидеть файловую систему БД. Я знаю, что MySQL имеет бэкдор, Firebird должен иметь тоже, верно?

1 ответ

Firebird не имеет бэкдора как такового. Но вы можете переместить базу данных в другую установку Firebird (или использовать security2.fdb из другой установки Firebird), где вы знаете пароль SYSDBA,

Другие варианты включают сброс пароля, войдя в систему как член RDB$ADMIN роль, но это предполагает, что это было предоставлено ранее SYSDBA как в базе данных безопасности, так и в одной обычной базе данных. Или используя доверенную аутентификацию в качестве члена группы администраторов Windows. Однако под Firebird 2.5 это требует AUTO ADMIN MAPPING включен для базы данных безопасности (которая не используется по умолчанию).

Смотрите SQL команды управления пользователями для деталей.

Тем не менее, желательно сделать "обычного" пользователя владельцем и RDB$ADMIN базы данных и использовать этого пользователя для добавления или изменения структуры базы данных (но в этом случае, скорее всего, потребуется учетная запись SYSDBA).

Другие вопросы по тегам