From: Oleg I. Petrov <ol@donapex.net.ua>
Newsgroup: blackcat-list@geon.donetsk.ua
Date: Mon, 25 Sep 2003 14:31:37 +0000 (UTC)
Subject: Radius и PortSlave
> Проблема в чем, что я хочу перейти с
> dialup-овских серверов построенных на mgetty
> (на каждом сервере одинаковая база юзеров)
> на radius сервер с одной базой, и у меня уже есть
> валом юзеров, которые имеют и uucp и online, то есть
> у них есть Uuser - с одним паролем и user с другим,
> обходить и всех перестраивать большой напряг, вот я и думаю
> как бы это заставить радиус проверять юзеров в базе
> с префиксом (а разбивать по префиксам надо, так как
> различный сервис).
Тогда могу посоветовать следующие варианты:
Вариант 1 (самый простой)
Рассылаешь всем пользователям с логином типа
Uuser письма о том, что, например, с 1 января 2000 г.
они должны заходить с логином UUuser, и вводишь
radius сервер с 1 января 2000 г.
Вариант 2
Не знаю как на остальных radius серверах, а на
xtradius у нас работает следующая конструкция:
Здесь cblogin и login перловые скрипты, в которых происходит
аутификация через СУБД, а параметры %u и %w соответственно
логин и пароль. Если аутификация успешна, то скрипт выдает на
стандартный вывод:
Фишка в том, что в скрипт передается весь логин
( в нашем случае например cb#test и нам приходится
скриптом обрезать первые три символа).
В твоем случае вместо обращения к базе данных
можно шифровать пароль (здесь как-то пробигало
как это делать), а затем сравнивать с данными из
файла passwd.
Однако есть нюанс - после аутификации для
системы твой Uuser бедет все равно user. И если
ты для учета используешь sac -p Uuser то получишь
0 часов, т.к. твой Uuser уже не Uuser, а user. Тоже
самое и для логов радиуса. Так что насчет биллинга
подумать надо.