Под фрей 4.2 стоит скуид 2.4 стэйбл
Пользователи авторизируются через htpasswd апача.
Как можно установить лимиты на выкачку этим пользователям?
Имеется ввиду отрубать совсем или ограничивать
по скорости/объему/числу коннектов?Если надо совсем отрубать, пишется свой
аутентификатор, пусть даже на каком-нибудь
perl или даже shell ;)
который просто проверяет кто и сколько выкачал,
стоит такого пускать или уже нет.
Тривиальный подсчет тоже легко организовать,
tail -f access.log | perl parser.pl
где parsel.pl - это штука подсчитывающая какой
пользователь сколько выкачал и сохраняющая все
это куда-нибудь.
>Под фрей 4.2 стоит скуид 2.4 стэйбл
>Пользователи авторизируются через htpasswd апача.
>Как можно установить лимиты на выкачку этим пользователям?
1. идёшь на squid-cache.org, читаешь там фак на предмет файла access.log,особенно внимательно читаешь про коды возврата, т.е. был файл взят в кеше,в памяти, выкачан,или просто был доступ запрещён.
2. далее пишешь скрипт, который парсит этот самый лог, и складываешь информацию, например, в mysql базу. заводишь в базе ещё одну таблицу, состоящую из ip-адресов клиентов,и их текущего статуса(включен,выключен)
3. заводишь в сквиде acl users "/usr/local/etc/squid/users.txt",где хранишь
допустим, ип-адреса клиентских компов. в определённое время по крону запускаешь скрипт, который проверяет, сколько выкачано каждым клиентом
с начала месяца, и, если выкачано меньше, чем можно,то записываешь этот адрес в файл /usr/local/etc/squid/users.txt...соответственно, если выкачано больше нормы, то нафикк.потом запускаешь "squid -k reconfigure"
4. учитываешь, что если юзер качал, допустим, 100-мегабайтное файло, а потм сказал "та ну его нафикк" и обрубил закачку, то в логах это никак не отобразится....
у меня всё это работает по такому принципу, и я очень доффоленн:-))))
другой способ: идёшь на google, ищешь squid2mysql, качаешь, настраиваешь,
пользуешь...другое дело, что эта прога рассчитана, ИМХО, на малое количество клиентов кеша...