默认时,Squid本身不带任何认证程序,但是可以通过外部认证程序来实现用户认证。
一般有以下的认证程序:LDAP认证、SMB认证、基于mysql的认证、 基于sock5的密码认证
和基于Radius的认证。下面介绍常用的ncsa实现的认证, ncsa是Squid源代码包自带的认
证程序之一,实现步骤如下:
1. 进入/usr/local/squid/auth_modules/NCSA目录,执行:
make
make install
2. 编译成功后,会生成ncsa_auth的可执行文件,拷贝生成的可执行文件到/usr/bin目录下。
3. 修改squid.conf文件的相关选项。
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
authenticate_program /usr/local/squid/bin/ncsa_auth
/usr/local/squid/etc/passwd
4 利用Apache携带的工具软件htpasswd在/usr/locad/squid/etc下生成密码文件,并添加相
应的用户信息。该密码文件每行包含一个用户的信息,即用户名和密码。例如,用
htpasswd生成密码文件passwd并添加用户me:
htpasswd -c /usr/local/squid/etc/passwd me
5 重新启动Squid,密码认证生效。