On my server I have directory /srv/svn.Is it possible to set this directory to have multiple group ownerships, for instance devFirmA, devFirmB and devFirmC?The point is, I want to subversion version control manage multiple users accross multiple repositories and I do not know how to merge /srv/svn, the root directory of repositories, permissions. I have, for instance, three firms, FirmA, FirmB and FirmC. Now, inside /srv/svn I've created three directories, FirmA, FirmB, FirmC and inside them I've created repository for each project and now I do not know how to establish permission scheme since all elementes inside /srv/svn are owned by root:root, which is not ok, or am I wrong?
Setting multiple groups as directory owners
permissions;group;subversion
This is an extremely common problem, if I understand it accurately, and I encounter it constantly.  If I used ACLs for every trivial grouping problem, I would have tons of unmanageable systems.  They are only best practice when you cannot do it any other way, not for this situation.  This is the method I very strongly recommend.First you need to set your umask to 002, this is so a group can share with itself.  I usually create a file like /etc/profile.d/firm.sh, and then add a test command with the umask. [ $UID -gt 10000 ] && umask 002Next you need to set the directories to their respective groups,chgrp -R FirmA /srv/svn/FirmA chgrp -R FirmB /srv/svn/FirmBchgrp -R FirmC /srv/svn/FirmCFinally you need to set the SGID bit properly, so the group will always stay to the one you set.  This will prevent a written file from being set to the writer's GID.find /srv/svn/FirmA -type d -print0 | xargs -0 chmod 2775find /srv/svn/FirmB -type d -print0 | xargs -0 chmod 2775find /srv/svn/FirmC -type d -print0 | xargs -0 chmod 2775find /srv/svn/FirmA -type f -print0 | xargs -0 chmod 664find /srv/svn/FirmB -type f -print0 | xargs -0 chmod 664find /srv/svn/FirmC -type f -print0 | xargs -0 chmod 664Now finally if you want to prevent the directories from being even being accessed by other users.chmod 2770 /srv/svn/FirmAchmod 2770 /srv/svn/FirmBchmod 2770 /srv/svn/FirmC