2013-07-16 40 views
0

我在管理svn服务器。我创建了一个新的回购协议,最近用户遇到密码无法正常工作的问题。似乎每次有一个用户提交一个文件,这就为其他用户敲出了密码。我必须使用htpasswd -c/svn/repos/users [user]手动重置用户密码才能恢复。SVN用户密码保持重置

我的用户文件位于/ svn/repors/users。我似乎记得过去如果有一个用户列表和他们的加密密码。现在它似乎有一个用户/密码组合。它看起来像文件得到更新与提交存储库的最后一个用户。

我更新了从root到apache的所有者和组,但这并没有解决问题。有什么建议么?

回答

1

我必须使用htpasswd -c /svn/repos/users [user]来手动重置用户密码才能恢复。

$ man htpasswd 

-c创建passwdfile文件。如果passwdfile已经存在,则重写并截断。该选项不能与-n选项结合使用。

停止使用-c如果文件存在,因为它消除所有其他用户,一切都会只要你重新添加每一个用户是好...

+0

+1:好抓住。我应该看到这一点。 –

+0

是的,我完全错过了(derp!)。我删除了-c,现在一切正常。谢谢你的收获! –

0

你对SVN服务器有什么用? svnserve或Apache httpd

您的储存库位于何处?你的用户文件是否在同一目录结构下?这可能是一个问题。

例如,您有:

/svn/repos/project1 
/svn/repos/project2 
/svn/repos/users 

而且,你正在运行:

$ svn -r /svn/repos -d 

你可能会因为破坏颠覆认为它是另一个仓库你的用户列表。将它移到另一个位置。

$ mv /svn/repos/users /svn/repos/project1/conf 

是的,你可以放心你的用户列表存储conf目录的任何版本库下。只要确保每个存储库的svnserve.conf文件都指向新的位置。