PDA

View Full Version : Потеряный пароль SYSDBA



wlass
09-12-2010, 12:23 PM
Один народный умелец успешно утратил пароль на сервере Firebird, и именно его, пароль супер-пупера.
Я раньше занимался MS SQL Server и в принципе представляю, что можно пароль подставить из записи другого пользователя, или другому пользователю дать нужные привилегии для разруливания ситуации, и т.д. и т.п.
Сегодня убил день, и убедился, что Firebird 2.0.4 гораздо лучше дает отлуп разным авантюристам, желающим странного.
Или это программа хитромудрая, я заподозрил, что она шифрует пароль с участием и пароля серверного пользователя, и с участием даты-времени.
Или просто я в этом Файрберде профан.
Ищетъся способ решения ситуации. Подставить этому суперу чужой пароль, или кого другого супером сделать, или еще чего... Как оно в этом чуде решается-то?

profAleks
09-13-2010, 01:04 PM
Восстановить SYSDBA можно просто - останови сервер и подсунь ему isc4.gdb из дистрибутива. Там как обычно, один пользователь - SYSDBA с паролем masterkey.

Ссылка (http://www.sql.ru/forum/actualthread.aspx?tid=328558).
P.S. Я тоже в Файрбирде ноль, в MySQL это решалось запуском сервера с ключем --skip-grant-tables. :grum:

wlass
09-13-2010, 01:14 PM
Ссылка (http://www.sql.ru/forum/actualthread.aspx?tid=328558).
P.S. Я тоже в Файрбирде ноль, в MySQL это решалось запуском сервера с ключем --skip-grant-tables. :grum:

С файрбердом сегодня вроде разобрались. Всего и надо - переустановить без переноса юзеров. Пароль супера сбрасывается. Две минуты времени.
Там программа хитро закручена. При добавлении пользователя создается также и пользователь на сервере для доступа к базе (ну, это обычное дело). Пароль шифруется и хранится в шифрованном виде в одной из таблиц (USERS, конечно :)) При шифровании используется пароль пользователя на сервере и дата/время, таким образом подставить соответствующее сочетание от другого пользователя не получается, как это я раньше проделывал в других прогах. Это вообще-то даже и не сервер, а программист шибко умный попался. :teufel: К базе доступ есть, а в программу-клиент не зайти.
Так что пришлось откатиться на 10 часов назад и забить снова ручками.
Ссылка, кстати, старая, для Интербейса еще. На Firebird 2.0 надо подставлять Secure2.fdb. Но смысла нет, это пароль на сервере, итак легко сбрасывается.