Open GoogleCodeExporter opened 9 years ago
Commented by blaze@nixdev.net on 2010-10-15 14:56:36:
Есть, по крайней мере, еще 2 причины хранить
acl в отдельных файлах:
1. Пробелы в имени пользователей. Windows
позволяет создавать пользователей с
пробелами в именах пользователей, и
поэтому, при добавлении таких
пользователей в SAMS2, в squid.conf получаем такие
acl:
{{{
acl Sams2Template4 proxy_auth DOMAIN\логин а б
}}}
Само собой, squid такие acl интерпретирует как
список логинов, разделенных пробелами, т.е.
как три разных пользователя: "DOMAIN\логин", "а"
и "б". Результат: "DOMAIN\логин а б" не проходит
авторизацию.
2. При переконфигурированиии, SAMS сносит из
конфигурационного файла squid все строки, в
которых упоминается "Sams2", и это правильно,
но создает проблему: невозможно
использовать списки SAMS в собственных
правилах http_access, а также в правилах которые
не управляются (пока?) в SAMS, например
http_reply_access и http_access2.
Если бы использовались файлы для хранения
списков, то администратор мог бы создавать
свои acl, использующие эти файлы, и
использовать их для написания собственных
правил.
Большая просьба разработчикам вернуть
файлы к следующей бете :-) Да, и чуть не
забыл, было бы хорошо, чтобы эти файлы
лежали в собственной директории (например
"sams") внутри директории с конфигами squid.
Спасибо!
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:11
Commented by chemerik@mail.ru on 2010-10-19 23:13:38:
>> Само собой, squid такие acl интерпретирует
как список логинов,
>> разделенных пробелами, т.е. как три разных
пользователя:
>> "DOMAIN\логин", "а" и "б". Результат: "DOMAIN\логин а
б" не проходит
>> авторизацию.
squid 3 stable 19
создал в AD пользователя "Логин Ю Ю",
пользователя импортировал в sams2
в squid.conf sams2daemon создал acl:
acl Sams2Template1 proxy_auth Логин Ю Ю
пользователь авторизуется в squid
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:11
Commented by blaze@nixdev.net on 2010-10-20 16:48:07:
Replying to [comment:2 DmitryChemerik]:
> >> Само собой, squid такие acl интерпретирует
как список логинов,
> >> разделенных пробелами, т.е. как три
разных пользователя:
> >> "DOMAIN\логин", "а" и "б". Результат: "DOMAIN\логин
а б" не проходит
> >> авторизацию.
>
> squid 3 stable 19
> создал в AD пользователя "Логин Ю Ю",
пользователя импортировал в sams2
> в squid.conf sams2daemon создал acl:
> acl Sams2Template1 proxy_auth Логин Ю Ю
>
> пользователь авторизуется в squid
>
squid 2.6.STABLE21. К сожалению, повторив Вашу
последовательность получил описанную мной
ситуацию:
{{{
1287554762.294 49 X.X.X.X TCP_DENIED/403 1362 GET http://www.lenta.ru/
DOMAIN\%d0%bb%d0%be%d0%b3%d0%b8%d0%bd%20%d1%8e%20%d1%8e NONE/- text/html
}}}
Настройки squid, имеющие отношение к
авторизации:
{{{
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 30
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
..........
acl Sams2Template2 proxy_auth DOMAIN\логин ю ю
..........
acl AuthorizerUsers proxy_auth REQUIRED
http_access deny !AuthorizerUsers
http_access allow Sams2Template2
http_access deny all
}}}
Добавил пару строк в конфиг (перед "http_access
deny all"):
{{{
acl UsersWithSpaceInLogin proxy_auth "/etc/squid/UsersWithSpaceInLogin"
http_access allow UsersWithSpaceInLogin
}}}
И внес строку "DOMAIN\логин ю ю" в файл
"/etc/squid/UsersWithSpaceInLogin".
Имеем:
{{{
1287566136.410 55 Х.Х.Х.Х TCP_HIT/200 8747 GET
http://img.lenta.ru/news/2010/10/20/kovykta/picturesmall.jpg
DOMAIN\%d0%bb%d0%be%d0%b3%d0%b8%d0%bd%20%d1%8e%20%d1%8e NONE/- image/jpeg
}}}
т.е. все работает. :-)[[BR]]
С другой стороны, [http://www.squid-cache.org/Doc/config/acl/ в
доках squid] для '''proxy_auth''' указывается, что он
"takes a list of allowed usernames.", т.е. речь идет именно о
списке логинов.
Почему у Вас работает, а у меня нет, могу
только предположить, что может быть одно
из:[[BR]]
- разница в squid между 3.0 и 2.6[[BR]]
- разница в опциях компиляции[[BR]]
- разные кодировки локали, веб, самбы (у меня
все - utf-8)[[BR]]
[[BR]]
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:11
Commented by blaze@nixdev.net on 2010-10-31 17:25:58:
К той проблеме мы решили вернуться после выпуска версии 2.0
Скорее всего acl будут вынесены в отдельные
файлы.
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:11
Original issue reported on code.google.com by
bl...@nixdev.net
on 5 Jun 2011 at 8:11