|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : alexander lunyov 2:50/551.3 22 Feb 2005 02:11:00 To : Slava Trofimov Subject : Спрошу еще раз о маршрутизации -------------------------------------------------------------------------------- ** Slava Trofimov => Gennady Abramov > Как во фрирадиусе сделать, чтобы при успешной авторизации > пользователя запускался бы некий скрипт, пока как вариант можно > сделать методом топора, при авторизации жестко на центральном > прописывать маршрут до того NAS где пользователь зашел. > прописал так: > в modules > exec route { > wait = no > program = "/var/billing/bin/route.pl %{Client-IP-Address} > %{User-Name}" > input_pairs = request > } > post-auth { > .... > route > } > Hе запускает скрипт, не ругается, но и не запускается. может, лучше использовать rlm_perl? perl perl_route { module = ${confdir}/route.pl func_postauth = postauth # ^^^^^^^^ за это не ручаюсь, может быть другое, смотри доку } post-auth { ...... perl_route } а в route.pl: ============================================================================= # use strict; use vars qw(%RAD_REQUEST %RAD_REPLY %RAD_CHECK); use constant RLM_MODULE_FAIL=> 1;# /* module failed, don't reply */ use constant RLM_MODULE_OK=> 2;# /* the module is OK, continue */ sub postauth { for (keys %RAD_REQUEST) { # This is for test only &radiusd::radlog(1, "rlm_perl:: $_ = $RAD_REQUEST{$_} "); } return RLM_MODULE_OK; } ============================================================================= более полнее - в доке есть пример скрипта, он там чуть больше. в эти скрипты можно подключать любые перловые модули, установленные в системе, ну и вообще работать ну прямо так, как и в обычном перле. сразу хинт: %{User-Name} находится в переменной $RAD_REQUEST{'User-Name'} :) * bye --- * Origin: your sweet isn't ready yet (2:50/551.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/2249421a5f2d.html, оценка из 5, голосов 10
|