跳转到主要内容

Buildout食谱用于创建和更新存储用户名和密码的平面文件,用于对HTTP用户进行基本身份验证

项目描述

简介

此食谱可用于生成用于HTTP用户基本身份验证的文件,以限制对HTTP资源的访问。目标是与htpasswd程序完全兼容,该程序随Apache httpd服务器一起提供,并支持它所支持的所有密码格式。这些格式(在明文方法中有些细微差别)也由nginx http服务器的auth_basic模块支持。

此食谱支持crypt、md5(APR md5算法)、plain和sha1算法来存储密码。crypt算法基于系统的crypt()例程,因此继承了它的限制(见:man 5 crypt)。

注意:明文密码仅由Windows和Netware上的Apache httpd服务器接受。

注意: 此食谱不应用于更新现有 htpasswd 文件,因为它会在每次更新时覆盖 htpasswd 文件。

示例用法

使用此食谱的最简单方法是向 buildout.cfg 中添加一部分,如下所示

[buildout]
parts = htpasswd

[htpasswd]
recipe = collective.recipe.htpasswd
output = ${buildout:directory}/etc/htpasswd
credentials =
    nueces:secret
    nutz:crackme

以下是一个使用 sha1 算法的示例

[buildout]
parts = htpasswd

[htpasswd]
recipe = collective.recipe.htpasswd
output = ${buildout:directory}/etc/htpasswd
algorithm = sha1
credentials =
    nueces:secret
    nutz:crackme

要使用 md5 算法,此食谱依赖于 python-aprmd5 包,然后您必须修改 buildout 部分以包含 md5 的 extras_require 设置并安装 python-aprmd5 包的构建依赖项。在 Debian GNU/Linux 中,该包是 libaprutil1-dev。它包含 Apache Portable Runtime Utility Library 的开发头文件。

之后,修改 buildout.cfg 中的部分,它必须如下所示

[buildout]
parts = htpasswd

[htpasswd]
recipe = collective.recipe.htpasswd [md5]
output = ${buildout:directory}/etc/htpasswd
algorithm = md5
credentials =
    nueces:secret
    nutz:crackme

注意: 如果您需要在两个或更多部分中使用此食谱与 md5 以及纯文本或加密算法,则必须首先声明使用 md5 的 extras_require

支持选项

  • 输出:指定输出文件的路径。如果该路径不存在,则将创建它。

  • 凭证:每行一个凭证集,由冒号分隔的用户名和密码组成。例如,<username>:<password>

  • 模式:使用八进制数字指定,类似于 chmod 程序。例如,640。如果没有设置,文件将使用系统环境的掩码模式创建。

  • 算法:支持的选项有 cryptmd5plainsha1。默认为 cypt

开发

贡献者

作者:Juan A. Diaz (nueces)

历史

0.1a3 (2013-03-27)

  • 增加了对 sha1 算法的支持。[Juan A. Diaz (nueces)]

0.1a2 (2013-02-18)

  • 增加了对 apr md5 算法的支持。[Juan A. Diaz (nueces)]

0.1a1 (2013-01-30)

  • 使用 ZopeSkel 创建了食谱

  • 初始 alpha 版本。[Juan A. Diaz (nueces)]

下载

项目详细信息


下载文件

下载适合您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

collective.recipe.htpasswd-0.1a3.zip (32.5 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面