[Bug 561194] New: cvs checkout fails due to permissions while it most likely should not
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 <gp@novell.com> asked me to report this bug and copy him, but I don't see a field to do this. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=561194 http://bugzilla.novell.com/show_bug.cgi?id=561194#c Philipp Thomas <pth@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P4 - Low Status|NEW |ASSIGNED -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=561194 https://bugzilla.novell.com/show_bug.cgi?id=561194#c1 Gerald Pfeifer <gp@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|cvs checkout fails due to |cvs checkout incorrectly |permissions while it most |fails due to permissions |likely should not |(when those are fine) --- Comment #1 from Gerald Pfeifer <gp@novell.com> 2011-01-16 23:21:24 CET --- Philipp, have you had a chance to look into this? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=561194 https://bugzilla.novell.com/show_bug.cgi?id=561194#c2 --- Comment #2 from Philipp Thomas <pth@novell.com> 2011-01-17 11:54:18 CET --- No, this somehow fell through the cracks. I'll see that I'll deal with it this week. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=561194 https://bugzilla.novell.com/show_bug.cgi?id=561194#c3 Philipp Thomas <pth@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|Development |Development Platform|i386 |All Version|Final |Factory AssignedTo|pth@suse.com |bnc-team-screening@forge.pr | |ovo.novell.com Product|openSUSE 11.1 |openSUSE 12.2 Target Milestone|--- |Factory OS/Version|openSUSE 11.1 |openSUSE 12.2 --- Comment #3 from Philipp Thomas <pth@suse.com> 2012-04-19 16:32:27 CEST --- 11.1 is long out of mainenance, therefore moving to factory. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=561194 https://bugzilla.novell.com/show_bug.cgi?id=561194#c4 kk zhang <kkzhang@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kkzhang@suse.com AssignedTo|bnc-team-screening@forge.pr |pth@suse.com |ovo.novell.com | --- Comment #4 from kk zhang <kkzhang@suse.com> 2012-04-28 09:12:17 UTC --- Hi,could you please help to have a look this?Thank you. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=561194 https://bugzilla.novell.com/show_bug.cgi?id=561194#c Philipp Thomas <pth@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pth@suse.com AssignedTo|pth@suse.com |tbehrens@suse.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=561194 https://bugzilla.novell.com/show_bug.cgi?id=561194#c5 Thorsten Behrens <tbehrens@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |INVALID --- Comment #5 from Thorsten Behrens <tbehrens@suse.com> 2013-11-28 22:09:15 UTC --- Works as designed. CVS treats (parts or all) of the path given as belonging to the repository, even possibly shortening the path if it matches server-side modules (see man-page). Looking at the strace output, there is a chunk of: 29639 1385676021.748326 chdir("test1") = 0 29639 1385676021.748345 stat("CVS", 0x7fff9725be60) = -1 ENOENT (No such file or directory) 29639 1385676021.748367 access("./CVS", F_OK) = -1 ENOENT (No such file or directory) 29639 1385676021.748387 mkdir("./CVS", 0777) = -1 EACCES (Permission denied) 29639 1385676021.748411 write(2, "cvs checkout: warning: cannot make directory CVS in .: Permission denied\n", 73) = 73 29639 1385676021.748439 open("CVS/Tag", O_RDONLY) = -1 ENOENT (No such file or directory) 29639 1385676021.748461 open("CVS/Entries", O_RDONLY) = -1 ENOENT (No such file or directory) 29639 1385676021.748483 write(2, "cvs checkout: in directory test1:\n", 34) = 34 29639 1385676021.748510 write(2, "cvs checkout: cannot open CVS/Entries for reading: No such file or directory\n", 77) = 77 29639 1385676021.748543 open("CVS/Entries.Log", O_RDONLY) = -1 ENOENT (No such file or directory) 29639 1385676021.748565 openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5 29639 1385676021.748589 getdents(5, /* 3 entries */, 32768) = 80 29639 1385676021.748612 stat("./cvsroot/CVS", 0x7fff9725bdb0) = -1 ENOENT (No such file or directory) 29639 1385676021.748633 getdents(5, /* 0 entries */, 32768) = 0 29639 1385676021.748652 close(5) = 0 29639 1385676021.748672 open("CVS/Entries.Log", O_WRONLY|O_CREAT|O_APPEND, 0666) = -1 ENOENT (No such file or directory) 29639 1385676021.748694 stat("CVS", 0x7fff9725be20) = -1 ENOENT (No such file or directory) 29639 1385676021.748717 open("CVS/Entries.Static", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No such file or directory) 29639 1385676021.748742 write(2, "cvs [checkout aborted]: cannot open CVS/Entries.Static: No such file or directory\n", 82) = 82 , i.e. if not existing, CVS attempts to create CVS/ subdirs in all intermediate directory levels. There's an easy workaround though: Instead of cvs -d /home/u1/DIR1 checkout mod1, do a cd /home/u1/DIR1; cvs checkout mod1 (if necessary set CVSROOT env var, or specify via -d:pserver:...). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com