lijm1522 发表于 2018-12-26 08:06:48

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

    近期工作中需要使用到squid密码认证的部分,因为还有其他的软件要装,为了让安装更方便,自己写了一个脚本。但是因为客户需要能够自己修改squid用户的密码,为此专门做了一个测试。屡次失败,让人真的很郁闷,最终发现问题是因为我少建了两个文件!
  记录实际步骤吧!相关的文章网上也相当的多的!
下载地址:
  备注:之前使用了在squid官网上的chpasswd问题很多!一编译,错误一大堆,经过Google发现是因为那个版本的有bug,于是使用了最新版的的chpasswd。
    实际环境:RHEL4.8+Squid2.5+Apache+第三方商业应用
  关于squid的配置文件
http://myhat.blog.运维网.com/attachment/201101/24/391263_1295859214cm1X.jpg

  第一条:指定相应的认证程序。
  第二条:启动时生成相应的进程
  第三条:认证窗口的标题
  第四条:认证的有效期
  配置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、配置文件
  # 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 密码文件
  完成以上操作后,发现已经可以成功的登录并修改密码了。放几张图!
http://myhat.blog.运维网.com/attachment/201101/24/391263_1295859225FNVn.jpg
  提示密码修改成功!
http://myhat.blog.运维网.com/attachment/201101/24/391263_1295859229RVmQ.jpg
  检查一下日志吧!可以看到用户修改密码的记录!并且可以看到用户的新密码!我的新密码为123456789。
  http://myhat.blog.运维网.com/attachment/201101/24/391263_12958592336pN7.jpg



页: [1]
查看完整版本: 通过web修改squid用户上网密码