我对unix系统完全陌生......已经玩了大约两周。 我已经设法安装了subversion并创建了一个存储库。
假设我们有用户:
internal_developer
external_developer_1
external_developer_2
我们有一个项目:
repositories/project1
repositories/project2
repositories/project3
如何独立配置每个用户和项目的访问权限。
当我说“只能访问”时,这意味着他无法看到存储库/ *内容,只能查看他正在使用的项目。
我试图寻找一些手册或教程我该怎么做...但所有这些都是为了更多的用户,那么我...
感谢任何帮助。
编辑。 (还不能回答我的问题)
在文件/etc/apache2/mods-available/dav_svn.conf
在AuthUserFile
的位置仅存储用户名和密码。
然后
需要添加新行:AuthzSVNAccessFile /usr/passwd/svn.authz
然后是Floyd ^^的语法。
我看了一眼:Subversion - how do I control user access for single repository when SVNParentPath is used?
对于小组来说,它看起来更像是它。
Stil,剩下的一个遗漏部分...无法配置管理员用户在http://xxxxxx/svn/
时查看所有存储库给出错误
禁止
您无权访问此服务器上的/ svn /。
即使我在svn.authz中发誓:
[/]
@internal = rw
答案 0 :(得分:1)
如果您使用Apache(Mod_Dav_Svn)公开您的存储库,那么您需要在apache conf文件中为该指令添加Auth支持
<location ...>
...
AuthType Basic
AuthName "My Subversion repository"
AuthUserFile /srv/svn/conf/passwd
</Location>
在AuthUserFile中引用的文件中,您可以指定所需的权限,如下所示:
[/]
* =
[project1:/]
internal_developer = rw
external_developer_1 =
external_developer_2 =
[project2:/]
internal_developer = rw
external_developer_1 = rw
external_developer_2 =
[project2:/]
internal_developer = rw
external_developer_1 =
external_developer_2 = rw
您还可以在每个文件夹的基础上以更精细的级别设置权限,如下所示
[/project1:/public_folder]
* = r
我希望这有帮助吗?
您可能还需要考虑使用第三方托管您的代码,CodeSpaces.com执行具有细化权限的subversion托管,此外您还不必担心管理自己的基础架构,备份等。