Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вход под паролем! [D5, IB6.x]


viper ©   (2002-12-09 16:51:00) 

У меня пароль на соединение с IB6 состоит из 11 символов (Password:ghjuhfvvbcn)
При соеденении с базой под IB6 когда ввожу только 8 символов идет коннект с базой, т.е если введу 8 символов или 11 символов происходит соединение с базой! В Чем тут может быть проблема?


Сергєєв Володимир   (2002-12-09 17:54:00) [1]

Насчет пассвордов. Считаю нужным добавить в раздел - ПАЦАНЫ, БУДЬТЕ ВНИМАТЕЛЬНЫ.

История значит такая. Требовалсь мне развести ИБ6 под РедХатом7.3. Развелось, все нормально, захожу с консоли, вижу базу, делаю запросы - все нормально. С клинтской тачки тоже под РедХатом (7.0 только) - тоже все нормально. А вот с виндов подключиться не могу. Говорит Invalid password SYSDBA. Ask your database admin...(ну и так далее. Я думаю, на эту надпись все присутствующие кодеры под ИБ успели в свое время налюбоваться.)

Долгие и продолжительные половые отношения с серваком я имел в течение двух недель. В итоге я нашел в чем баг.

Оказывается. Как всем известно, пароли ИБ хранит в базе в своем каталоге. И хранит он их в таблицах в зашифрованном виде. Когда gds32.dll (gds.lib.so.0) получает в качетве параметра в свою АПИ функцию пароль, она его шифрует и отправляет в зашифрованном виде серваку. А сервак уже сравнивает ЗАШИФРОВАННЫЕ пароли.

Дык вот. Шифрует пароли эта библиотека (gds32.dll)по алгоритму DES. А когда разводится ИБ под Линукс, то в gds.lib.so нету функций шифрования паролей. Она пользуется библиотекой шифрования паролей Линукс (в РедХате валяется в /etc/ ). По умолчанию во всех нормальных линуксах (нормальными я считаю РедХат с его потомками Альтом и АСП, Мандрайк, Турбо) эта библиотека шифрует все по DES-у. Но !! Во время установки РедХат иногда предлагает поставить галочку Enable MD5 passwords, что я с дуру и сделал. В результате линуксовый ИБ стал шифровать все по MD5, а сравнивает он, как известно, зашифрованиые пароли. Вот и все. Ку-ку, называется.
-------------------------------------------------------
Выход из ситуации.
1) Перекомпилить ядро. Это для особых извращенцев, которые владеют Линукс на уровне ядра системы, коим я не являюсь
2) Пересетапить Линукс. И, естественно, не ставить эту долбанную галочку.

Заменить эту библиотеку (шифрует пароли которая) нельзя. Т.к. она еще отвечает за всю систему и под рутом вы больше никогда не достучитесь.


Anatoly Podgoretsky   (2002-12-09 17:12:00) [2]

Ограничение на длину пароля 8 символов, остальные игнорируются


Наверх

Титульная страница Поиск, карта сайта Написать письмо