近期工作中需要使用到squid密码认证的部分,因为还有其他的软件要装,为了让安装更方便,自己写了一个脚本。但是因为客户需要能够自己修改squid用户的密码,为此专门做了一个测试。屡次失败,让人真的很郁闷,最终发现问题是因为我少建了两个文件!
记录实际步骤吧!相关的文章网上也相当的多的!
下载地址:<http://nchc.dl.sourceforge.net/project/orsochpasswd/orsochpasswd/chpasswd-2.2.4/chpasswd-2.2.4.tar.gz>备注:之前使用了在squid官网上的chpasswd问题很多!一编译,错误一大堆,经过Google发现是因为那个版本的有bug,于是使用了最新版的的chpasswd。
实际环境:RHEL4.8+Squid2.5+Apache+第三方商业应用
关于squid的配置文件<仅提供认证的部分,防止自己忘记>
第一条:指定相应的认证程序。
第二条:启动时生成相应的进程
第三条:认证窗口的标题
第四条:认证的有效期
配置chpasswd.cgi让客户端可以通过IE来修改自己的上网密码:
1、安装
./configure && make && make install
以上操作会生成:
a、/usr/local/etc/chpasswd/chpasswd.conf 配置档
b、/usr/local/etc/chpasswd/chpasswd.log 日志档
c、chpasswd.cgi将被复制到/var/www/cgi-bin这个目录里
c、其他文件
2、配置文件
[root@localhost ~]# cat /usr/local/etc/chpasswd/chpasswd.conf | grep -v ^#
password_file /home/squiduser #密码文件的位置
ip_auth /usr/local/etc/chpasswd/ipauth #允许IP登录的范围
header "Change your Squid account password" #网页主题信息
minimum_length 4 #密码最小长度
maximum_length 10 #密码最大长度
enable_log /usr/local/etc/chpasswd/chpasswd.log #允许日志功能
show_pwd yes #允许在日志中查看修改的密码信息
ncsa_plus off #关闭ncsa_plus的功能
denyfile /etc/squid/denyuser #阻止denyuser这个文件里的用户登录修改密码
另外还有的功能可以提高密码的安全性,如最小的字母个数,最小的数字个数,以便于提高密码的复杂性。在此不再介绍。
我在配置完成这chpasswd后,一直不能成功的修改密码,总是提示找不到密码文件!让人很郁闷,于是检查配置文件中的另外两个文件,发现这两个文件并不是系统帮你建,而是自己要建。
#touch /usr/local/etc/chpasswd/ipauth
#echo “0.0.0.0” > /usr/local/etc/chpasswd/ipauth
#touch /etc/squid/denyuser
#chmod 777 密码文件<squid的密码文件>
完成以上操作后,发现已经可以成功的登录并修改密码了。放几张图!
提示密码修改成功!
检查一下日志吧!可以看到用户修改密码的记录!并且可以看到用户的新密码!我的新密码为123456789。