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

$ htpasswd -c passwd admin.

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

最佳答案

语法是

htpasswd -c passwdfile username


htpasswd -cb passwdfile username yourpassword

默认的散列算法是MD5,因为apache的版本是2.2.18(您可以通过$apr1$前缀来识别它)。在此之前,默认的散列是unix crypt(不带前缀)。
如果您的apache版本小于2.2.18,您最好使用
htpasswd -cm passwdfile username
htpasswd -cbm passwdfile username yourpassword

也许在那之后你应该检查你的passwdfile是否正确创建(你有c权限等)。
使用联机工具或htpasswd命令行生成MD5散列时,每次都不同,因为它使用随机盐。

关于linux - htpasswd:创建了错误的凭据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16188824/

10-10 12:25