Не работают правила если source - это имена пользователей, а не адреса.FreeBSD 6.2-RELEASE
SquidGuard: 1.2.1 Sleepycat Software: Berkeley DB 3.3.11squidGuard.conf:
dbhome /usr/local/squidGuard/db
logdir /usr/local/squidGuard/logsource unlimited_users {
user admin
}destination banned {
urllist banned.desturllist
domainlist banned.destdomainlist
expressionlist banned.expressions
}acl {
unlimited_users {
pass all
redirect http://192.168.0.1/blocked.php?action=sgdisable&user=%i...
}
default {
pass !banned all
redirect http://192.168.0.1/blocked.php?action=sgdisable&user=%i...
}
}
В banned.destdomainlist есть запись, например icq.com.
Когда я делаю:echo "http://icq.com 192.168.0.1/ admin - GET" | squidGuard -c
/usr/local/squidGuard/squidGuard.conf -dполучаю:
2007-07-06 11:08:53 [64106] New setting: dbhome: /usr/local/squidGuard/db
2007-07-06 11:08:53 [64106] New setting: logdir: /usr/local/squidGuard/log
2007-07-06 11:08:53 [64106] Added User: admin
2007-07-06 11:08:53 [64106] init urllist /usr/local/squidGuard/db/banned.desturllist
2007-07-06 11:08:53 [64106] loading dbfile /usr/local/squidGuard/db/banned.desturllist.db
2007-07-06 11:08:53 [64106] init domainlist /usr/local/squidGuard/db/banned.destdomainlist
2007-07-06 11:08:53 [64106] loading dbfile /usr/local/squidGuard/db/banned.destdomainlist.db
2007-07-06 11:08:53 [64106] init expressionlist /usr/local/squidGuard/db/banned.expressions
2007-07-06 11:08:53 [64106] squidGuard 1.2.1 started (1183705733.592)
2007-07-06 11:08:53 [64106] squidGuard ready for requests (1183705733.594)
http://192.168.0.1/blocked.php?action=sgdisable&user=admin&u... 192.168.0.1/- admin -
2007-07-06 11:08:53 [64106] squidGuard stopped (1183705733.595)
Как видно, в правилах нет запрета для unlimited_users, в которую входит пользователь admin. Однако, его все равно редиректит на страницу с запретом.Если убрать !banned из default ACL - все отлично, никакого редиректа нет.
Исправь> unlimited_users {
>
> pass all
>
> redirect http://192.168.0.1/blocked.php?action=sgdisable&user=%i...
> }на
unlimited_users {
pass all
}иначе он тебе разрешает доступ, но всеравно редиректит.
>иначе он тебе разрешает доступ, но всеравно редиректит.Э нет. Я конечно же экспериментировал и так, и эдак.
В том-то и дело, что он не разрешает. Он эти правила для unlimited_users ваще не отрабатывает. Или отрабатывает, но пользователь admin по каким-то причинам не попадает в это правило и отрабатывается правило default.И потом, что значит "все равно редиректит"? Он редиректить должен только тогда, когда блокирует доступ. Вот по правилу default это и происходит.
>>иначе он тебе разрешает доступ, но всеравно редиректит.
>
>Э нет. Я конечно же экспериментировал и так, и эдак.
>В том-то и дело, что он не разрешает. Он эти правила для
>unlimited_users ваще не отрабатывает. Или отрабатывает, но пользователь admin по каким-то
>причинам не попадает в это правило и отрабатывается правило default.
>
>И потом, что значит "все равно редиректит"? Он редиректить должен только тогда,
>когда блокирует доступ. Вот по правилу default это и происходит.я просто подумал, что правило может отрабатываться до конца, т.е. у тебя после pass all стоит redirect. Я так не пробовал, но в мануалах нет redirect после pass all.
прости за нескромный вопрос, но ты ./squid reload после редактирования squidguard.conf делал?
>прости за нескромный вопрос, но ты ./squid reload после редактирования squidguard.conf делал?А я разве писал что-то про squid? :)
Я пишу про squidguard и проверяю его работу согласно инструкциям на его же сайте безо всяких squid-ов :)P.S. Если это на что-то влияет, то и к сквиду прикручивал, и reload-ы делал, и чего я только не делал. Результат один и тот же - редирект.
а если к acl unlimited_users тоже добавить destination какой либо, судя по описанию admin-а
пропустили через acl default
>А я разве писал что-то про squid? :)
ну прости, я когда прикручивал - не тестил. вернее тестил, но через сквид.и всетаки я настаиваю на том, чтобы переписать
unlimited_users {
pass all
redirect http://192.168.0.1/blocked.php?action=sgdisable&user=%i...
}на
unlimited_users {
pass all
}