2014-01-14 2 views
1

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

ответ

3

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

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

Подробнее см. SQL user management commands.

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

Смежные вопросы