Доброго времени суток. Решил в вопрос авторизации и разграничения доступа по учетным записям (не по IP).
То есть проверяется из файла с паролями uth_param basic program C:/squid/libexec/ncsa_auth.exe C:/squid/etc/users.txt
3 пользователя - 1, 2, 3
У первых двух - полный доступ кроме .lenta.ru (пользователь 1) и .mail.ru (пользователь 2)
У пользователя 3 - доступ только на .lenta.ruВОПРОС: как все это добро хранить в отдельных файлах
Привожу конфиг:
# ******************************* Группа ОЗИ ************************************
acl ozi_1 proxy_auth ident 1
acl ozi_2 proxy_auth ident 2
# Запрещающее правило - ALL
acl disable_all dst 0/0
# Запреты для ОЗИ
acl disable_ozi_1 dstdomain .lenta.ru
acl disable_ozi_2 dstdomain .mail.ru
# Выполнение правил для группы ОЗИ
http_access deny ozi_1 disable_ozi_1
http_access deny ozi_2 disable_ozi_2
# Выполнение правил для группы ОЗИ
http_access allow ozi_1
http_access allow ozi_2
#
# ******************************* Группа Test *****************************************
acl user_1 proxy_auth ident 3
#acl disable_all dst 0/0
acl enable_user_1 dstdomain .lenta.ru
http_access allow user_1 enable_user_1
http_access deny ozi_1
#**************************************************************************************
Полный конфиг:
Может кому так удобнее
# ncsa Авторизация пользователей
auth_param basic program C:/squid/libexec/ncsa_auth.exe C:/squid/etc/users.txt
auth_param basic children 10
auth_param basic realm "Введите имя пользователя и пароль"
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
#
#
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
#**********************************************************************************
# Доступ в интернет для машины с Squid
acl LocalNet src 127.0.0.1/32
http_access allow LocalNet
#*********************************************************************************************************
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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
#
http_access allow manager localhost
http_access deny manager
#
#acl ncsa_users proxy_auth REQUIRED # ncsa Авторизация пользователей
# Описание локальных сетей
# ******************** Группа ОЗИ **************************************
acl ozi_1 proxy_auth ident 1
acl ozi_2 proxy_auth ident 2
# Запрещающее правило - ALL
acl disable_all dst 0/0
# Запреты для ОЗИ
acl disable_ozi_1 dstdomain .lenta.ru
acl disable_ozi_2 dstdomain .mail.ru
# Выполнение правил для группы ОЗИ
http_access deny ozi_1 disable_ozi_1
http_access deny ozi_2 disable_ozi_2
# Выполнение правил для группы ОЗИ
http_access allow ozi_1
http_access allow ozi_2
#
# **************************************** Группа Test Users**********************************************
acl user_1 proxy_auth ident 3
#acl disable_all dst 0/0
acl enable_user_1 dstdomain .lenta.ru .zakazrf.ru
http_access allow user_1 enable_user_1
http_access deny ozi_1
#*********************************************************************************************************
#*********************************************************************************************************
# Для всех остальных - запрет на подключение к Squid
http_access deny CONNECT !SSL_ports
#http_access allow localnet
http_access deny all
#
icp_access allow localnet
icp_access deny all
#*************************************************************************************
#
#***********************************************************************************
# Прописываем порт и сетевую карту, на который сквид будет ожидать соединения от клиентов.
http_port 3128
#http_port 192.168.56.10:80
#http_port 127.0.0.1:3128
#*********************************************************************************
#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
#Default:
cache_replacement_policy lru
# Прописываем расположение директории, в которой будет хранится наш кэш:
cache_dir ufs C:/squid/var/cache 100 16 256
store_dir_select_algorithm least-load
max_open_disk_fds 0
minimum_object_size 0 KB
maximum_object_size 4096 KB
cache_swap_low 90
cache_swap_high 95
update_headers on
access_log C:/squid/var/logs/access.log squid
logfile_daemon c:/squid/libexec/logfile-daemon.exe
cache_log C:/squid/var/logs/cache.log
cache_store_log c:/squid/var/logs/store.log
logfile_rotate 10
emulate_httpd_log off
log_ip_on_direct on
mime_table c:/squid/etc/mime.conf
log_mime_hdrs off
pid_filename c:/squid/var/logs/squid.pid
log_fqdn off
strip_query_terms on
buffered_logs off