Есть трабла с Gnu Radius и криптованными паролями. Ежели ставлю Auth-Type = Local
или System, то все работает замечательно, причем в случае с Local
все равно где находятся пароли - прямо в файле users или в mysql базе.
Но никак не получается заставить радиус авторизовать с использованием
криптованных паролей. Ставлю Auth-Type=SQL, в базу делаю INSERT MD5('password')
не авторизует. Абсолютно такой же эффект, если ставлю Auth-Type=Crypt-Local,
и пишу криптованый пароль в users. Авторизоватья пытаюсь через
radauth. Такое впечатление, что радиус как-то по-другому криптует пароли,
нежели это делает утилка md5 ну или функция MD5() в mysql, хотя мануал
говорит, что либо DES, либо MD5. Где грабли?
Какая версия GnuRadius ???
При компиляции опция поддержки mysql была включена ???
>Какая версия GnuRadius ???
>При компиляции опция поддержки mysql была включена ???со скулем он живет нормально, если не криптовать пароли, т.е юзать Auth-Type=Local, Password-Location=SQL. Но напрочь отказывается авторизовать с криптованными паролями. Может их в базе нужно криптовать иначе, нежели MD5('password')?
[root@ns /usr/ports/net/gnu-radius/work/radius-1.1/db]# radiusd -V
radiusd: Сервер GNU Radius, версия 1.1 (i386-unknown-freebsd4.9)
Платформа компиляции: FreeBSD
Флаги отладки:
Флаги компиляции:USE_SERVER_GUILE USE_SQL_MYSQL
Благополучно разобрался. Оказалось, что коварный Gnu-Radius использует не md5-hash (RFC1321), который возвращает MD5() в скуле, а salted md5, который используется в passwd никсов. В общем нужно писать в базу не MD5('password'), а ENCRYPT( 'password', '$1$saltsalt$' ) (второй параметр произвольный, лучше его генерить рандомом, хотя можно и вообще без него), и все благополучно заработает :)>авторизовать с криптованными паролями. Может их
>в базе нужно криптовать иначе, нежели MD5('password')?