LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 752|回复: 6

求教Squid用户认证的问题

[复制链接]
发表于 2005-5-18 13:14:14 | 显示全部楼层 |阅读模式
Squid 2.4 Stable 7
配置文件作了如下修改:
authenticate_program /usr/bin/ncsa_auth /etc/squid/passwd
acl requireAuth proxy_auth REQUIRED
http_access allow requireAuth
然后用htpasswd生成用户名密码,启动Squid,配置浏览器使用代理。弹出密码对话框,但是怎么输入都不认。输入以下指令确认
/usr/bin/ncsa_auth /etc/squid/passwd
yb yb
OK
看来NCSA认证应该没有问题啊,那么问题出在什么地方?

谢谢!
发表于 2005-5-18 14:30:29 | 显示全部楼层
怎么输入都不认??

什么意思,还是提示密码错误?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-18 16:38:27 | 显示全部楼层
连续输入三次用户名密码以后,页面显示
ERROR
Cache Access Denied

--------------------------------------------------------------------------------

While trying to retrieve the URL: http://www.163.com/

The following error was encountered:

Cache Access Denied.

Sorry, you are not currently allowed to request:

    http://www.163.com/
from this cache until you have authenticated yourself.

看最后一句应该是认证没有成功
回复 支持 反对

使用道具 举报

发表于 2005-5-18 17:46:43 | 显示全部楼层
ncsa_auth是用来认证htpasswd格式的口令文件的,如果要用系统用户作认证,建议用sasl_auth或是pam_auth
回复 支持 反对

使用道具 举报

发表于 2005-5-18 19:38:29 | 显示全部楼层
能否将配置文件列出来?
回复 支持 反对

使用道具 举报

发表于 2005-5-18 21:13:06 | 显示全部楼层
authenticate_program /usr/lib/squid/pam_auth

其他配置都一样,由于需要访问/etc/shadow文件,/usr/lib/squid/pam_auth必须设置suid位,因此这是一个quick&dirty的解决方案,实在想不出有什么理由需要用系统帐户做认证

这里顺便给出一个测试的tip,在命令行上运行认证程序,以"username passwd\n"的格式从标准输入输入需要认证的用户名/密码,返回OK表示认证通过,返回ERR则表示认证失败,像下面的例子这样,祝你成功

$ ncsa_auth passwdfile
jone correct-secret
OK
mike error-secret
ERR
回复 支持 反对

使用道具 举报

发表于 2005-5-21 08:37:39 | 显示全部楼层
chmod 711 /etc/squid/passwd
使用下面的命令添加用户
htpasswd -c /etc/squid/passwd username
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表