squid 用户通过NCSA认证

2023-11-06

Squid的用户认证设置

  默认时,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/local/squid/etc下生成密码文件,并添加相应的用户信息。该密码文件每行包含一个用户的信息,即用户名和密码。例如,用htpasswd生成密码文件passwd并添加用户me:

htpasswd -C /usr/local/squid/etc/passwd me

第一次加-C

生成的密码文件类似如下:

me:xxxxxxxxxxx


5 重新启动Squid,密码认证生效。

++++++++++++++++++++++++++++++++++
Squid 2.4版及以下的squid.conf中,包括以下几个相关选项:
authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/password
authenticate_children 5
proxy_auth_realm Squid proxy-caching web server
authenticate_ttl 1 hour
acl normal proxy_auth REQUIRED
acl normal src 192.168.0.1/24
http_access allow ck
Squid 2.5在认证处理上有了较大的改变。
在2.5版的squid.conf中,包括以下几个相关选项:
#该选项指出了认证方式(basic)、需要的程序(ncsa_auth)和
对应的密码文件(password)
auth_param basic program /usr/bin/ncsa_auth /var/squid/etc/password
# 指定认证程序的进程数
auth_param basic children 5
# 浏览器显示输入用户/密码对话框时的领域内容
auth_param basic realm My Proxy Caching Domain
# 基本的认证有效时间
auth_param basic credentialsttl 2 hours
# 普通用户需要通过认证才能访问Internet
acl normal proxy_auth REQUIRED
http_access allow normal
其中password 文件使用apache的 htpasswd命令生成
下面是设置好的squid.conf的全部
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 64 MB
authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/password
authenticate_children 32
proxy_auth_realm Squid proxy-caching web server
authenticate_ttl 24 hour
acl pwd proxy_auth REQUIRED
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow !Safe_ports Safe_ports !SSL_ports SSL_ports
http_access allow localhost
http_access allow pwd
http_access deny all

icp_access allow all

http://linux.chinaunix.net/techdoc/system/2007/01/07/947523.shtml


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

squid 用户通过NCSA认证 的相关文章

  • python向Excel读取一行数据

    pandas 1 0之前读取是用的ix 后来改为iloc或者loc 如下 import pandas as pd df pd read excel 1 xlsx sheet name student 可以通过sheet name来指定读取的
  • runtime.h-Functions-Working with Classes (二)

    文章目录 Working with Classes 二 class getIvarLayout class getWeakIvarLayout class addMethod class replaceMethod class addIva
  • JDK8安装及系统变量配置(包含错误处理)

    jdk安装 一 下载JDK 二 安装 三 配置系统变量 四 可能遇到的问题 1 显示已经安装的问题 或者 读取注册表项值失败 2 原因 3 解决 五 验证安装成功 一 下载JDK JDK下载官网 二 安装 双击之后 一直下一步就ok 三 配

随机推荐

  • 【JAVA+oracle】数据库综合型实验----教务管理系统

    前言 这次实验用到了很久没写的javaswing 其中各种组件的使用可谓是花了一番工夫复习 其中遇到最大的问题是如何将java和oracle进行连接 这个问题搞了我一个晚上 一开始用的是eclipse 代码是没问题的 死活连不上 第二天把代
  • springboot当中配置mybatis分页插件

    这篇文章主要介绍了spring boot集成pagehelper 记录使用pagehelper的两种配置方式 目录 一 直接使用pagehelper 1 导入依赖 2 配置pagehelper 3 代码写法 二 使用pagehelper s
  • GPT2训练自己的对话问答机器人

    GPT2训练自己的对话问答机器人 1 环境搭建 2 理论研究 3 模型训练与测试 3 1语料tokenize 3 2用GPT2训练数据 3 3人机交互 4 效果展示 1 环境搭建 这里我搭建了虚拟的3 6环境 conda create n
  • 学会搭建小程序生鲜商城,开启生鲜电商新模式

    电商平台的出现 为人们带来了极大的便利 然而 传统的电商平台已经不能满足消费者对于购物体验的要求 如今 小程序生鲜商城因其轻量化 高效率等特点 成为了众多卖家的首选 本文将介绍如何学会搭建小程序生鲜商城 并以一个实际案例作为例子 解析运用技
  • python控制台输入、输出

    python控制台输入 输出 上一篇文章 python 注释 变量 类型 下一篇文章 Python运算符 比较 逻辑运算符 1 输出 简单输出 print 我是简单的字符串输出 控制台运行结果 我是简单的字符串输出 格式化输出 age 18
  • jenkins shell脚本执行权限不够解决办法

    自己服务器搭建jenkins执行操作的时候 没有相应的权限 解决这个问题的时候 做了一些笔记分享给大家 1 查看jenkins默认用户 vi etc sysconfig jenkins 复制代码 找到JENKINS USER发现默认用户je
  • JDBC入门

    JDBC基础部分 问题一 JDBC是什么 为什么会存在JDBC 作用是什么 JDBC Java DataBase Connection 是用于跟数据库进行交互的 由JDK统一提供 可以为多种关系型数据库提供统一的标准 但是是各大厂商进行实例
  • 亚信科技AntDB数据库携“U8C+AntDB联合产品”亮相“2023全球商业创新大会”,开启生态合作新篇章

    8月18 19日 近万人齐聚上海国家会展中心 带着对数字化 数智化趋势和热点的关注 以满腹热情投身到以 数据驱动 智能运营 为主题的 2023全球商业创新大会 共商新技术条件下企业信息化出现的新课题 新挑战 共享数智化升级创新成果 亚信科技
  • 【Python】TXT文本文件转换成JSON格式

    主要分为两个部分 1 txtToJson 函数读取指定路径下的所有文件 转换成如下格式 name1 content1 name2 content2 2 saveInJsonFile 函数将处理好的json格式数据和保存的文件路径作为函数参数
  • Android数据加密之MD5加密

    一 前言 项目中无论是密码的存储或者说判断文件是否是同一文件 都会用到MD5算法 今天来总结一下MD5加密算法 二 什么是MD5加密 MD5英文全称 Message Digest Algorithm 5 翻译过来是 消息摘要算法5 由MD2
  • c语言结构体变量所占字节计算,【C语言】结构体占用字节数及存储与空间分配...

    我们都知道在数据类型中 char类型占1个字节 short占2个字节 int占4个字节 long占8个字节等等 在计算结构体大小时需要考虑其内存布局 结构体在内存中存放是按单元存放的 每个单元多大取决于结构体中最大基本类型的大小 下面我们看
  • 网络工程师常用的命令整理-windows版,还不快收藏起来

    一 ping命令 1 ping ping是最常用的实用程序之一 用来确定网络的连通性 ping是个使用频率极高的实用程序 主要用于确定网络的连通性pi 如果ping通一个地址 那么基本可以排除物理层数据链路层的故障等 ping 的命令格式通
  • 使用联机搜索求解Wumpus World

    使用 JavaScript 重写的算法网页 https yuqingxiong github io Wumpus World Problem github仓库地址 https github com YuqingXiong Wumpus Wo
  • CUDA 分块矩阵乘法

    cpp文件 include stdafx h include
  • mips使用buildroot,交叉静态编译file程序出现ld: cannot find -lz错误解决过程

    最近用unbutu X64 版本16 04 使用buildroot 版本2020 2 交叉编译一个mips的目标机 因为目标机没有支持库所以很多程序使用静态编译 这次的主角是file这个程序 运行该程序能知道各类文件的类型及追踪需要的支持库
  • Verilog实现异步FIFO(重难点)

    FIFO总概 图来自文章Simulation and Synthesis Techniques for Asynchronous FIFO Design 一个异步FIFO一共由五个基本模块组成 分别是 RAM存储器模块 FIFO写地址以及写
  • 分享一个基于springboot+vue的职业生涯规划系统源码

    作者 计算机源码社 个人简介 本人七年开发经验 擅长Java Python PHP NET 微信小程序 爬虫 大数据等 大家有这一块的问题可以一起交流 学习资料 程序开发 技术解答 文档报告 JavaWeb项目 微信小程序项目 Python
  • tp摄像头的默认地址_TP-Link路由器默认管理员密码是什么 路由器默认管理员密码介绍【详解】...

    TP Link路由器默认管理员密码是多少 最近有网友咨询了小编这样的问题 其实关于TP Link路由器的默认管理员密码是要根据路由器的型号而介绍的 因为有些型号的TP Link路由器是有默认管理员用户名和密码的 而有些型号是没有的 这对这个
  • Flutter 容器(5) - SizedBoxSizedBox

    SizedBox 两种用法 一是可用来设置两个widget之间的间距 二是可以用来限制子组件的大小 import package flutter material dart class AuthList extends StatelessW
  • squid 用户通过NCSA认证

    Squid的用户认证设置 默认时 Squid本身不带任何认证程序 但是可以通过外部认证程序来实现用户认证 一般有以下的认证程序 LDAP认证 SMB认证 基于mysql的认证 基于sock5的密码认证和基于Radius的认证 下面介绍常用的