Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6568683
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T14:30:33+00:00 2026-05-25T14:30:33+00:00

We host a svn repository for multiple projects and business files on apache. This

  • 0

We host a svn repository for multiple projects and business files on apache. This is accessed by multiple programmers and some project folders also by clients. Example layout is:

svn/ourcompany/business
svn/ourcompany/projects
svn/ourcompany/projects/proj1
svn/ourcompany/projects/proj2
svn/ourcompany/projects/proj3

Previously our svn.accessfile looked as follows:

[groups] 
admin = jd 
programmer = jd,pr1,pr2

[ourcompany:/]
@admin = rw

[ourcompany:/business]
@admin = rw

[ourcompany:/projects]
@admin = rw
@programmer = rw

[ourcompany:/projects/proj1]
client1a = rw
client1b = rw
webclient = rw

Today we found that this setup causes a 403 error for webclient1 on ourcompany:/projects/proj1

After some research a contractor suggested to add

[groups] 
admin = jd 
programmer = jd,pr1,pr2

[ourcompany:/]
* = r
@admin = rw

[ourcompany:/business]
* =
@admin = rw

[ourcompany:/projects]
@admin = rw
@programmer = rw

[ourcompany:/projects/proj1]
client1a = rw
client1b = rw
webclient = rw

But that now means I need to add

*= 

to every single project in the project folder ???

Can someone advice on how permissions in svn.accessfile work in the folder hierarchy?

apache virtual host below

    <VirtualHost ipadress:80>

            ServerName subversion.ourcompany.com
            ServerAdmin webmaster@ourcompany.com
            DocumentRoot /var/www/subversion.ourcompany.com
            DavLockDB /var/lock/apache2/DavLock 

            <Location /svn>
                    DAV svn
                    SVNParentPath /var/svn
                    SVNListParentPath on
                    SVNAutoversioning on
                    SVNIndexXSLT "/repos-web/view/repos.xsl"
                    #ModMimeUsePathInfo on
                    AuthzSVNAccessFile /etc/apache2/svn.accessfile
                    AuthType Basic
                    AuthName "SVN"
                    AuthUserFile /etc/apache2/svn.passwd
                    Require valid-user

                    # compress as much as possible
                    SetOutputFilter DEFLATE
                    SetInputFilter DEFLATE
                    # Don't compress images
                    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
            </Location>

            <IfModule mpm_itk_module>
                    AssignUserId www-data www-data
            </IfModule>

            DeflateFilterNote Input instream
            DeflateFilterNote Output outstream
            DeflateFilterNote Ratio ratio

            LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) %s' deflate
            CustomLog /var/log/apache2/svn-deflate.log deflate
            CustomLog /var/log/apache2/svn-access.log "%t %u %{SVN-ACTION}e" env=SVN-ACTION
            ErrorLog /var/log/apache2/svn-error.log


    </VirtualHost>

What we want to achieve:

webclient to access ourcompany:/projects/proj1 only and to have no read access to ourcompany:/projects The latter could be achieved by putting a *= into each subfolder of ourcompany:/projects, but that is not practiable.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T14:30:34+00:00Added an answer on May 25, 2026 at 2:30 pm

    I would like to give the following advice first:

    • Try to define groups and use only groups in your rules of the access files. This makes it more easy to change things later and to understand what the rules are.
    • Use group names that denote what the semantic of the group is. This makes it easier to understand the rules as well.
    • Try to give every user only one group, so it is easier to understand what the role (and the access rights) of that user are.

    I would change / add some parts, so that the complete resulting file is:

    [groups] 
    admin = jd 
    programmer = jd,pr1,pr2
    gr_client1 = client1a,client1b,webclient1
    
    [ourcompany:/]
    * = 
    @programmer = r
    @gr_client1 =
    @admin = rw
    
    [ourcompany:/projects]
    @programmer = rw
    
    [ourcompany:/projects/proj1]
    @gr_client1 = rw
    

    This expresses the following

    • You have three groups of users: admins, programmers and clients of individual projects (here in the example gr_client1).
    • The overall access rights say that admins may read and write everything. You don’t have to repeat that rule in the subdirectories, it is inherited automatically.
    • The programmers may read anything, and have additionally write access rights in all projects.
    • The clients may only access their individual directory, and may read and write there.

    So as a result you have to add for each new group an additional client group, add the users there, and add one rule for their individual project only.

    PS: In your question webclient1 is used, but in the files you give, it is only webclient. Which one do you want to have?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I typically setup SVN to host 1 big project per repository but a lot
I'd like to self-host an SVN repository for a personal project (web game), but
I host a project on CodePlex, but a bunch (200+) files need to have
I have been using BeansTalk to host my personal SVN repository and I am
Firstly, I have migrated my CVS repository into SVN repository. I checked out this
Installed SlikSvn on Window 2008 server Created Repository at c:\dia\svn\repos running this windows service
I have a VPS and i'm trying to host several SVN projects. I'd like
I'm trying to add a remote linux SVN repository to my project but when
I have followed the documentation to setup the SVN repository for existing project. I
We have a RoR project, which we host on self hosted svn and use

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.