保持 Subversion 用户和密码与 Linux 用户同步的最佳方法是什么?

保持 Subversion 用户和密码与 Linux 用户同步的最佳方法是什么?

我不确定什么是最好的,保持 subversion 用户和密码与 linux 用户和密码同步,还是只是让 linux 以某种方式提供 subversion 身份验证服务。

我更愿意只维护 Linux 用户,因为我发现在 ubuntu 上添加和删除用户很容易。我想发出命令“sudo adduser developer”,然后“developer”就可以立即访问 subversion 存储库。

目前,我必须首先创建一个 Linux 用户,然后使用以下命令创建 Subversion 用户:

sudo htpasswd -m /var/lib/svn/mainrepo/conf/htpasswd 开发人员

有没有更好的办法?

答案1

您可能只考虑使用 apache 身份验证,并使用集中式身份验证方案对其进行身份验证:

http://blogs.open.collab.net/svn/2007/03/subversion_ldap.html

答案2

仅供参考可以看看这个主题:如何在 Subversion 中使用 Linux 用户名和密码?

它对 SVN 帐户使用 PAM 身份验证。

您是否有兴趣像前面的链接那样通过 apache 实现此功能,或者直接从命令行使用 SVN 客户端?

答案3

我会警告你不要这样做...Subversion 在$HOME/.subversion/servers目录中的 UNIX 系统上缓存凭据 - 在没有 gnome-keyring 的系统上,这是未加密的(尽管受到用户只读权限的保护)。

任何具有一定系统知识水平的人都可以绕过此级别的保护,因此可以拥有用户的帐户密码并可以以该用户的身份做任何事情。如果用户拥有sudo访问权限,他们可能会提升对root用户的访问权限。

答案4

有一个阿帕奇auth_pam_模块您可以使用。如果您想这样做,请确保为您的存储库启用 https。以下网站将引导您完成此操作:

http://blog.eval.ca/2007/01/04/pam-authentication-for-apache-trac-and-svn/

我特别喜欢团体的例子:

<Location "/svn/repository">
   AuthPAM_Enabled On
   AuthType Basic
   AuthName "My Repository"
   Require group developers
</Location>

这样,您只需更新 apache 一次,然后将新用户添加到开发人员组。

相关内容