Shared repository - access control.

Asked by Karsten Sorensen

We have a centralized repository that was initialized with init-repo. In that repository there are branches for various projects, each was initiallized with "init". The central repository resides on a Unix server. Most of the clients are on Windows, though we also use Linux.
I have no problem branching and pushing to the branches I initialized. However, when I try to branch and then push under a different username, I get permission denied when trying to create locks.

In one case, I went through all the files (via Windows) to change the permissions so Everyone could change all the files under .bzr. That worked.

Now I am trying to do it with a real branch (the one above was a sandbox to test if it would work) and I get Permission denied on last-revision file, though I have set the permissions to allow Everyone to change the file.

We need to have other, than the originator, people be able to access and change the repositories.

In the printout below, I am logged in as cals, not ksorensen.
*************************************************************************************************************************************
odin:/usr3/linux_dev/mem/apps/checkers/login/Documents/dm_rmii% bzr push
Using saved push location: /home/v2158/BzrRepo/osibhome/dm_rmii/
bzr: ERROR: Permission denied: "/home/v2158/BzrRepo/osibhome/dm_rmii/.bzr/branch/last-revision": [Errno 13] Permission denied: '/home/v2158/BzrRepo/osibhome/dm_rmii/.bzr/branch/last-revision.30740.odin.6jqh3pugnz.tmp'
odin:/usr3/linux_dev/mem/apps/checkers/login/Documents/dm_rmii% dirs -v
0 ~/Documents/dm_rmii
1 /home/v2158/BzrRepo/osibhome/dm_rmii/.bzr/branch
odin:/usr3/linux_dev/mem/apps/checkers/login/Documents/dm_rmii% ls -l =1
total 4
-rw-rw---- 1 ksorensen engr 54 2010-03-02 15:39 branch.conf
-rwxrwxrwx 1 ksorensen engr 39 2010-02-26 13:26 format
-rwxrwxrwx 1 ksorensen engr 54 2010-03-11 11:44 last-revision
drwxrwxrwx+ 2 ksorensen engr 512 2010-03-15 09:55 lock
-rw-rw---- 1 ksorensen engr 0 2010-02-26 13:26 tags

Question information

Language:
English Edit question
Status:
Solved
For:
Bazaar Edit question
Assignee:
No assignee Edit question
Solved by:
Karsten Sorensen
Solved:
Last query:
Last reply:
Revision history for this message
Martin Pool (mbp) said :
#1

Hi,

How are they actually connecting to the Linux server? Over bzr+ssh, sftp, a network filesystem, something else?

You should also check that the directories have the g+s bit set (ie "find . -type d -exec chmod g+s {} \;") so that they inherit the same group permission - but this is probably not the main problem here.

I don't know if it will totally solve your problem but you might like to look at the sysadmin guide http://doc.bazaar.canonical.com/bzr.dev/en/admin-guide/index.html

Revision history for this message
Karsten Sorensen (ksorensen) said :
#2

Thanks for the response.

There is no server, as such. The shared repository is on an internal network file server.

I used you suggestion (ie "find . -type d -exec chmod g+s {} \;") from a Linux system. It worked and now I can push a branch as a different user.

Thank you.