如何配置squid3用户身份验证?

时间:2015-04-06 11:16:02

标签: linux squid

如何控制每个组的用户(例如:admin1,admin2,boss1,boss2)组的访问权限?我是否要将它们全部放入一个用户传递文件或每个组的一个用户传递文件?我不能使用IP,我必须使用ncsa_auth。 我尝试了两种方法,但是在第一种情况下,我不知道如何告诉鱿鱼(用acl's)来判断组(管理员或老板)是什么,第二种方式也不起作用。

我实际上正在使用第二个(但是如果你对第一个有所了解的话),有2个虚拟机(都是lubuntu),有firefox;我使用带有“htpasswd -b etc ...”的脚本创建用户。我测试了用户代理是否可以读取而且可以。

access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log


visible_hostname servidor.proxy
http_port 3128

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/admins_passwd
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/informatic_passwd
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/boss_passwd
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/users_passwd
auth_param basic realm WRITE YOUR USER AND PASSWORD
auth_param basic credentialsttl 1 minute
auth_param basic casesensitive off

acl CONNECT method CONNECT
acl control proxy_auth REQUIRED
acl webs url_regex /etc/squid3/webs_denied
acl content url_regex /etc/squid3/content_denied
acl domains url_regex /etc/squid3/domains_denied
acl admins proxy_auth /etc/squid3/admins_passwd
acl boss proxy_auth /etc/squid3/boss_passwd
acl informatic proxy_auth /etc/squid3/informatic_passwd
acl users proxy_auth /etc/squid3/users_passwd

http_access deny users
http_access allow boss control !webs
http_access allow admins control !webs !domains
http_access allow informatic control
http_access deny all

使用这些acl:

  • 点击取消时我认证窗口出现2次(我不知道为什么)

  • 我把所有用户传递文件(第一个四个auth_param基本),我不知道这是否告诉squid用户传递文件的位置。

  • 只有“用户”身份验证才有效。与其他人一起,aunthentication总是弹出

感谢。

1 个答案:

答案 0 :(得分:0)

解决。 对于按用户组过滤,squid3需要: 用“htpasswd”创建的用户传递(squid_passwd)文件 和简单的用户文本文件,用echo(或你喜欢的)完成, 例如: auth_param基本程序... / ncsa_auth / squid_passwd-directory acl group1 proxy_auth“/ simple-users-text-file-directory” acl group2 proxy_auth“/ simple-users-text-file2-directory”

group1 / 2个用户也在squid_passwd中。