squid用户身份认证

发布时间:2020-04-21编辑:脚本学堂
squid用户身份认证

squid实现用户身份认证的语句:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
选项定义了认证方式为basic,认证程序的路径和认证程度需要读取的帐户文件。

auth_param basic children 5
此选项定义了认证程序的进程为5

auth_param basic credentialsttl 2 hours
此选项定义了认证程序的时间为2小时,如果2小时过后用户还需要使用squid,则必须重新输入帐户和密码

auth_param basic realm This is a Squid porxy-caching
auth_param basic realm选项定义了用户的登录时显示的领域内容,类似于apache的会员区认证

acl auth_user proxy_auth requireD
http_accel allow auth_user
定义一条名为auth_user 的ACL,ACL类型为proxy_auth通过外部程序进行用户认证方式,列表值为REQUIRED,然后使用http_access选项允许该列表

建立帐户文件
htpasswd -c /etc/squid/passwd st02
#用法跟Apache的会员认证是一样的,第一次需要-c,再输就不需要了

以下语句利用squid顺序处理http_access选项的特点,将192.168.16.0/255.255.255.0配置为不需要squid直接上网,其它客户机必须经过用户认证后才能上网:
 

复制代码 代码如下:
acl noauth_user src 192.168.16.0/255.255.255.0
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm This is a Squid proxy-caching
acl auth_user proxy_auth REQUIRED
http_access allow noauth_user
http_access aloow auth_user

注:squid不支持在透明代理模式下启用用户身份认证功能。