http://bugzilla.novell.com/show_bug.cgi?id=561194
http://bugzilla.novell.com/show_bug.cgi?id=561194#c0
Summary: cvs checkout fails due to permissions while it most
likely should not
Classification: openSUSE
Product: openSUSE 11.1
Version: Final
Platform: i386
OS/Version: openSUSE 11.1
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Development
AssignedTo: pth@novell.com
ReportedBy: wf@wfaber.com
QAContact: qa@suse.de
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5)
Gecko/20091109 Ubuntu/9.10 (karmic) Firefox/3.5.5
I get the following error when trying to check out a module located in the home
directory of another user (anonymized):
m1:~/tmp/new> cvs -d /home/xxx/DIR1/CVS checkout mod
cvs [checkout aborted]: cannot getwd in /home/xxx/DIR1/CVS: Permission denied
m1:~/tmp/new>
This is apparently a permission problem, but it should not occur as the
permissions are as follows
drwxrwsr-x 61 xxx g1 4096 2009-10-14 11:38 /home/xxx/DIR1/CVS/
drwxr-x--x 9 xxx g1 4096 2009-05-18 03:54 /home/xxx/DIR1/
drwxr-x--x 48 xxx g2 4096 2009-11-23 14:06 /home/xxx/
My user is in group g1 but not in g2:
m1:~/tmp/new> groups faber
faber : vi li cola g1
But this should not matter as there is no need for cvs to read or write in
/home/xxx/ .
This happens only for checkout; update and commit work as expected.
We could fix it temporarily by doing chmod o+r /home/xxx .
Please note that I am not an administrator on that machine, so I'm afraid I
cannot execute any experimental setup. What is described below should reproduce
the bug, but I could not test it on the opensuse machine.
Reproducible: Always
Steps to Reproduce:
1. Create two users u1 and u2.
2. u1 in groups g1 and g2
3. u2 only in group g1
4. u1: chmod 751 $HOME
5. u1: chgrp g2 $HOME
6. u1: mkdir $HOME/DIR1
7. u1: chmod 751 $HOME/DIR1
8. u1: chgrp g1 $HOME/DIR1
9. u1: cvs -d $HOME/DIR1 init
10. u1: chgrp g1 -R $HOME/DIR1/CVSROOT
10. u1: chmod 2771 $HOME/DIR1/CVSROOT
11. u1: mkdir $HOME/empty; cd $HOME/empty; cvs -d $HOME/DIR1 import -m Test
mod1 test start
12. u1: chgrp g1 $HOME/DIR1/mod1
13. u2: cvs -d /home/u1/DIR1 checkout mod1
Actual Results:
cvs [checkout aborted]: cannot getwd in /home/u1/DIR1/CVS: Permission denied
Expected Results:
cvs checkout: Updating mod1
cvs version is 1.12.12
Gerald Pfeifer