通过web修改squid用户上网密码

近期工作中需要使用到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的配置文件<仅提供认证的部分,防止自己忘记>

6

第一条:指定相应的认证程序。

第二条:启动时生成相应的进程

第三条:认证窗口的标题

第四条:认证的有效期

配置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” &gt; /usr/local/etc/chpasswd/ipauth

#touch /etc/squid/denyuser

#chmod 777 密码文件<squid的密码文件>

完成以上操作后,发现已经可以成功的登录并修改密码了。放几张图!

1

提示密码修改成功!

2

检查一下日志吧!可以看到用户修改密码的记录!并且可以看到用户的新密码!我的新密码为123456789。

4

本文出自 “陈宝城,潜入技术的海洋” 博客,请务必保留此出处http://myhat.blog.51cto.com/391263/484876

原文地址:https://www.cnblogs.com/studio313/p/1946472.html