SVN用户对特定项目配置的访问权限

SVN用户对特定项目配置的访问权限,svn,unix,configuration,ubuntu-10.04,Svn,Unix,Configuration,Ubuntu 10.04,我对unix系统完全陌生。。。大约玩了两周。 我已经成功地安装了subversion并创建了一个存储库 假设我们有用户: internal_developer external_developer_1 external_developer_2 我们有一个项目: repositories/project1 repositories/project2 repositories/project3 如何独立地为每个用户和项目配置访问权限 内部开发者-可以访问所有项目(rw) 外部开发者1-只能访问项

我对unix系统完全陌生。。。大约玩了两周。 我已经成功地安装了subversion并创建了一个存储库

假设我们有用户:

internal_developer
external_developer_1
external_developer_2
我们有一个项目:

repositories/project1
repositories/project2
repositories/project3
如何独立地为每个用户和项目配置访问权限

  • 内部开发者-可以访问所有项目(rw)
  • 外部开发者1-只能访问项目1(rw)
  • 外部开发者2-只能访问project2(rw)
  • 当我说“只能访问”时,这意味着他看不到存储库/*内容,只能看到他正在处理的项目

    我试图寻找一些手册或教程,我如何才能做到这一点。。。但所有这些都是为那些比我更有经验的用户准备的


    感谢您的帮助

    --- 编辑。(还不能回答我的问题)

    在文件
    /etc/apache2/mods available/dav_svn.conf

    AuthUserFile
    的位置,仅存储用户名和密码

    然后

    需要添加新行:
    authzsvnacessfile/usr/passwd/svn.authz

    然后是Floyd^^的语法

    我看这里:

    而在群体中,它看起来更像是这样


    还有,还剩下一部分。。。无法将管理员用户配置为在访问时查看所有存储库

    给出一个错误

    禁止
    您没有在此服务器上访问/svn/的权限

    甚至我也输入了svn.authz:

    [/]
    @internal = rw
    
    如果使用Apache(Mod_Dav_Svn)公开存储库,则需要在Apache conf文件中向指令添加Auth支持

    <location ...>
       ... 
       AuthType Basic
       AuthName "My Subversion repository"
       AuthUserFile /srv/svn/conf/passwd
    </Location>
    
    您还可以按每个文件夹设置更精细的权限,如下所示

    [/project1:/public_folder]
    * = r
    
    我希望这有帮助

    您可能还想考虑使用第三方来托管您的代码,做具有粒状权限的子版本托管,再加上您不需要管理自己的基础设施、备份等……< /p> < p>如果您使用Apache(MODYDavaSvn)要公开存储库,则需要在apacheconf文件中的指令中添加Auth支持

    <location ...>
       ... 
       AuthType Basic
       AuthName "My Subversion repository"
       AuthUserFile /srv/svn/conf/passwd
    </Location>
    
    您还可以按每个文件夹设置更精细的权限,如下所示

    [/project1:/public_folder]
    * = r
    
    我希望这有帮助


    您可能还想考虑使用第三方来托管您的代码,做具有粒状权限的子版本托管,再加上您没有管理自己的基础设施、备份等的头疼。

    这是一个拥有三个项目或三个单独的存储库的存储库吗?它在配置上有很大的不同,它只是一个存储库。有很多项目在里面。嗯。。。现在我开始怀疑。。。你称之为存储库?在添加authzsvnacessfile之前,当我访问HTTP/svn时,我可以在那里看到所有的项目。每个项目都有自己的修订历史记录。如果每个项目都有自己的修订编号,则有三个独立的Subversion存储库。这里有一个简单的问题,在这些存储库的实际位置中,有多少
    钩子
    目录?每个存储库都有自己的
    挂钩
    目录。如果这是三个不同的存储库,我相信每个存储库都需要自己的授权配置(尽管它们可能能够共享相同的身份验证文件)。。。我可以为每个可以访问它的项目指定属性。这是一个包含三个项目的存储库,还是三个单独的存储库?它在配置上有很大的不同,它只是一个存储库。有很多项目在里面。嗯。。。现在我开始怀疑。。。你称之为存储库?在添加authzsvnacessfile之前,当我访问HTTP/svn时,我可以在那里看到所有的项目。每个项目都有自己的修订历史记录。如果每个项目都有自己的修订编号,则有三个独立的Subversion存储库。这里有一个简单的问题,在这些存储库的实际位置中,有多少
    钩子
    目录?每个存储库都有自己的
    挂钩
    目录。如果这是三个不同的存储库,我相信每个存储库都需要自己的授权配置(尽管它们可能能够共享相同的身份验证文件)。。。我可以为每个可以访问它的项目指定这些属性。