Есть Freeradius сервер на Freebsd 9.0, авторизующий пользователей через ntlm_auth. Настроено все по статье из вики на freeradius.org (http://deployingradius.com/documents/co ... ctory.html) Все хорошо, пока я не хочу разграничить возможность прохождения авторизации в зависимости от того, в какой группе находится пользователь.
Например, мне надо, чтобы пользователи, находящиеся в одной группе, могли пройти авторизацию только до 22 часов, в то время как пользователи из другой группы имели доступ в любое время. ntlm_auth позволяет проверить принадлежность к группе, но там нельзя задать условие нахождения юзера ЛИБО в одной группе, ЛИБО в другой. Но это еще полбеды. Я был крайне озадачен, но нормальной документации по политикам freeradius просто не нашел. Т.е. я пока не могу понять даже как передать политике имя пользователя, пришедшее на входе. Путем некоторого шаманства я создал политику, проверяющую сколько сейчас времени и в зависимости от этого выдающую accept или reject, однако по факту к реализации доступа по группам я приблизился не сильно, поскольку непонятно как проверить находится пользователь в группе или нет.
В принципе можно воткнуть в cron скрипт, который бы менял в зависимости от времени файл ../raddb/modules/mschap, но это получаются какие-то костыли.
Может кто подскажет где найти подробную документацию по этой штуке? Ну или какую-то информацию по решению данной конкретной проблемы...
А вообще, может возможно прикрутить к freeradius авторизацию по типу:
Код: Выделить всё
/usr/local/libexec/squid/squid_ldap_group -R -b "dc=domain,dc=local" -f "(&(samaccountname=%v)(memberof=cn=%a,cn=users,dc=domain,DC=local))" -D user@domain.local -W /usr/local/etc/squid/authpw -K -h dc.domain.local -d