LINUX.ORG.RU
ФорумAdmin

Squid, авторизация nsca, пользователи...


0

0

Есть Squid версии 2.4, работает nsca-авторизация.
Есть "крутые" пользователи, у которых доступ к инету положен 24/7, тут без проблем. 
И есть все остальные, доступ к инету которым надо дать только во время обеденного перерыва.

Привожу кусочек squid.conf:
-----------<>---------------

authenticate_program /usr/lib/squid/ncsa_auth /usr/etc/passwd 
acl all src 0.0.0.0/0.0.0.0
acl foo proxy_auth REQUIRED
acl users proxy_auth user 
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 6667 # Mirc
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl WorkTime time 8:00-12:00
acl AfterDinner time 13:15-21:00
acl Diner time 12:00-31:15 
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports 
http_access allow foo
http_access allow users Diner
http_access deny users WorkTime
http_access deny users AfterDinner
http_access deny all 
--------------------<>-------------------------
Вот так не работает. Пользователя "user" пускает в любое время.
Какие будут мысли??

> acl Diner time 12:00-31:15

O_o

И вот тут, imho, косяк:

>acl foo proxy_auth REQUIRED >acl users proxy_auth user

Anoxemian ★★★★★
()

И порядок в http_access блюсти надо, сначала deny (кроме последнего), потом allow

sdio ★★★★★
()
Ответ на: комментарий от sdio

Время поправил, спасибо.
Исправил вот так конфиг:
-----------------<>-----------------
acl Diner time 12:00-13:15 
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports 
http_access deny users WorkTime
http_access deny users AfterDinner
http_access allow foo
http_access allow users Diner
http_access deny all 
-----------------<>-----------------

Бестолку, все равно пускает всех авторизованных в любое время.

Хотя здесь http://squid.opennet.ru/FAQ/my/FAQrus-23.html лежит пример, почти так как мне надо, только наоборот:

"acl foo proxy_auth REQUIRED
acl bar proxy_auth lisa sarah frank joe
acl daytime time 08:00-17:00
acl all src 0/0
http_access allow bar
http_access allow foo daytime
http_access deny all
В этом примере пользователям lisa, sarah, joe, и frank разрешено использовать прокси в любое время. Другим пользователям разрешен доступ только в дневное время."

HellDog
() автор топика
Ответ на: комментарий от HellDog

Вы определитесь: вам нужно ВСЕХ пускать в заданное время или только пользователя "user" ?
Если всех, то так:
http_access deny CONNECT !SSL_ports
http_access deny foo !Diner
http_access allow foo
http_access deny all

spirit ★★★★★
()
Ответ на: комментарий от spirit

acl foo proxy_auth REQUIRED      # это acl для АВТОРИЗОВАВШИХСЯ пользователей. 
acl users proxy_auth user        # это acl для определённых пользователей 

http_access allow foo            # тут ты разрешаеш полный доступ АВТОРИЗОВАВШИМСЯ пользователям 
http_access allow users Diner    # тут ты определённым пользователям даёшь доступ в обед. 


"users" и "foo" не взаимоисключающиеся группы. Соответственно, либо поменяй порядок http_access, либо сделай как в последнем примере. 

Anoxemian ★★★★★
()
Ответ на: комментарий от spirit

>Вы определитесь: вам нужно ВСЕХ пускать в заданное время или только пользователя "user" ?

Мне надо пускать "user" в заданное время.

HellDog
() автор топика
Ответ на: комментарий от HellDog

-----------------<>-----------------
acl Diner time 12:00-13:15 
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports 
http_access allow users Diner
http_access allow foo !users
http_access deny all 
-----------------<>-----------------

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.