【问题标题】:htpasswd: wrong credentials createdhtpasswd:创建了错误的凭据
【发布时间】:2013-04-24 09:50:49
【问题描述】:

我试图在运行 Linux Fedora 18 的机器上设置 svn。我使用 htpasswd 创建并添加了新用户。所以基本上我所做的是:

$ htpasswd -c passwd admin. 

其中 passwd 是包含用户名/密码对的文件。默认情况下,htpasswd 应该使用 md5 来加密密码。因此,后来当我尝试登录时,即使我提供了正确的用户名和密码,我也无法登录。 在尝试了不同的事情之后,我去了一些在线 md5 生成器,输入了相同的密码。结果字符串与 htpasswd 生成的字符串不同。我手动编辑了passwd文件,输入了我从网站上得到的md5密码并成功登录。是htpasswd有问题还是有一些系统设置需要修复?

【问题讨论】:

  • 我建议为htpasswd 尝试-m Force MD5 encryption of the password (default). 选项。我认为它应该默认使用。
  • 我尝试使用-m。没办法(((
  • htpasswd 生成的哈希是加盐的,当然你会得到不同的密码。仅此而已。
  • 是的……没错。但是仍然为什么网站生成的密码有效,而 htpasswd 生成的密码无效。我该死的确定我输入了正确的密码。

标签: linux fedora .htpasswd


【解决方案1】:

语法是

htpasswd -c passwdfile username

htpasswd -cb passwdfile username yourpassword

从 apache 2.2.18 版本开始,默认的哈希算法是 MD5(您可以通过 $apr1$ 前缀来识别它)。在此之前,默认哈希是 unix crypt,(没有前缀)。 如果你的 apache 版本是

htpasswd -cm passwdfile username
htpasswd -cbm passwdfile username yourpassword

也许在那之后您应该检查您的 passwdfile 是否正确创建(您是否有 c 权限等)。

当您使用在线工具或使用 htpasswd 命令行生成 MD5 哈希时,每次都不同,因为它使用随机盐。

【讨论】:

    猜你喜欢
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2016-06-13
    • 1970-01-01
    • 2013-08-31
    • 2017-09-23
    • 1970-01-01
    相关资源
    最近更新 更多