Подготовил конфигурацию squida для использования.
Сразу объясню политику партии. В сети несколько админов. Поскольку в linux сколько-нибудь шарит только один, то конфигурацию squida он строит следующим образом - про то, что есть такой файл squid.conf другие админы не знают (и знать видимо не хотят
). Требуется, чтобы на время отпуска шарящего админа, proxy сервер не сломали. Систему надо сделать НЕШАРЯЩЕАДМИННО_УСТОЙЧИВОЙ.
Для этого списки пользователей, отсортированные по группам, выносятся в отдельные файлы, файл var/lib/squid/passwd, к примеру, содержит
---
user1:extU2962ugZ2k
user2:aQkRSZ/RbPkRM
user3:......................
..............................
user9:.....................
user10: бла-бла-бла
---
Файл squid.conf содержит:
---
#Recommended minimum configuration:
auth_param basic program /usr/lib/squid/ncsa_auth /var/lib/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl all src 0.0.0.0/0.0.0.0
acl users proxy_auth REQUIRED
acl users_ip src "/var/lib/squid/users_ip"
acl moyl_otdel proxy_auth user1
acl moyl_otdel_ip src "/var/lib/squid/moyl_otdel_ip"
acl big_boss proxy_auth user2 user3
acl big_boss_ip src "/var/lib/squid/big_boss_ip"
acl otdel_smi proxy_auth user4 user5 user6
acl otdel_smi_ip src "/var/lib/squid/otdel_smi_ip"
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Jabber_ports port 5222
acl Safe_ports port 80 # http
acl Safe_ports port 81 # http
acl Safe_ports port 25 # smtp
acl Safe_ports port 110 # pop3
acl Safe_ports port 21 # ftp
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 badsites dstdom_regex "/var/share/badsites.deny"
acl badsites_ip dst "/var/share/badsites_ip.deny"
acl agressive dstdom_regex "/var/share/agressive"
acl agressive_ip dst "/var/share/agressive_ip"
acl casino dstdom_regex "/var/share//casino"
acl casino_ip dst "/var/share/casino_ip"
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !Safe_ports !SSL_ports !Jabber_ports
###gruppi polzovateley
http_access allow moyl_otdel moyl_otdell_asu_ip
http_access allow big_boss big_boss_ip !badsites !badsites_ip
http_access allow otdel_smi otdel_smi_ip !casino !casino_ip
http_access allow users users_ip !badsites !badsites_ip !agressive !agressive_ip !casino !casino_ip
http_access allow manager localhost
http_access deny manager
http_access deny all
---
Так вот сам вопрос: будет ли работать строка "http_access allow users users_ip !badsites !badsites_ip !agressive !agressive_ip !casino !casino_ip" так, как надо, т.е. разрешать НЕЯВНО заданным пользователям user7, user8, user9, user10 c IP адресами, определенным в "acl users_ip src "/var/lib/squid/users_ip"" работать в инете, кроме сайтов, определенным в acl как "badsites, badsites_ip, agressive, agressive_ip, casino, casino_ip" или получится как в моем первом посте, когда я разрешив "http_access allow users" тем самым свел на нет все мои настройки для остальных пользователей.
Можно было бы задать
---
acl poor_users proxy_auth user7 user8 user9 user10
acl poor_users_ip src "/var/lib/squid/poor_usersi_ip"
---
Но тогда несведущим админам придется править squid.conf, а рисковать не хотелось бы. А так им предется всего лишь добавить в /var/lib/squid/users_ip IP адрес нового подключаемого компа, да выполнить одно несложное действие для заведения нового пользователя при ncsa аутентификации