我不确定什么是最好的,保持 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 一次,然后将新用户添加到开发人员组。