我试图在运行Linux Fedora 18的机器上设置svn。我使用htpasswd创建并添加了新用户。基本上我做的是:
$ htpasswd -c passwd admin.
其中passwd是包含用户名/密码对的文件。默认情况下,htpasswd应该使用md5来加密密码。所以,稍后当我尝试登录时,我不能,即使我提供了正确的用户名和密码。 尝试不同的东西后,我去了一些在线md5生成器,输入相同的密码。结果字符串与htpasswd生成的字符串不同。我手动编辑了passwd文件,输入了我从网站上获得的md5密码并成功登录。是否有什么问题htpasswd或者有一些系统设置需要修复?
答案 0 :(得分:2)
语法是
htpasswd -c passwdfile username
或
htpasswd -cb passwdfile username yourpassword
默认哈希算法是自Apache 2.2.18版本以来的MD5(您可以通过$ apr1 $前缀来识别它)。在此之前,默认哈希是unix crypt,(没有前缀)。 如果你的apache版本是< 2.2.18,你最好用md5强制
htpasswd -cm passwdfile username
htpasswd -cbm passwdfile username yourpassword
也许在那之后你应该检查你的passwdfile是否正确创建(你有权限等)。
使用在线工具或使用htpasswd命令行生成MD5哈希时,每次都会有不同,因为它使用随机盐。