[cvsnt] [chacl] Not being able to create or write to a file unless you have the same right on the parent folder.

Tony Hoyle tony.hoyle at march-hare.com
Sun Sep 10 17:35:20 BST 2006


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Tony Hoyle wrote:
> Works fine - just tried it again (but I have repositories configured 
> like that and I know it works anyway).
> 

Just went through all your issues below:

Root is set to read only, aclmode=normal:

tmh at keiko:~/a$ cvs rlsacl
Directory: <root>
Owner: <not set>

<default>
         read

Directory a had no ACL:

tmh at keiko:~/a$ cvs rlsacl a
Directory: a
Owner: tmh

tmh at keiko:~/a$ ls >>a

tmh at keiko:~/a$ cvs commit -m "test" a
cvsnt server: User tmh is unable to write to ./a - ignoring

Add read/write/create to a, root still read only:

tmh at keiko:~/a$ cvs rchacl -a read,write,create a
setting ACL for directory a

tmh at keiko:~/a$ cvs rlsacl a
Directory: a
Owner: tmh

<default>
         read
         write
	create

tmh at keiko:~/a$ cvs commit -m "test" a
Checking in a;
/testrepo/a/a,v  <--  a
new revision: 1.5; previous revision: 1.4
done

Subdirectory.. permissions correctly inherited from a:

tmh at keiko:~/a$ mkdir dir
tmh at keiko:~/a$ cvs add dir
Directory /testrepo/a/dir added to the repository
tmh at keiko:~/a/dir$ cd dir
tmh at keiko:~/a/dir$ ls >a
tmh at keiko:~/a/dir$ cvs add a
cvsnt server: scheduling file `a' for addition
cvsnt server: use 'cvsnt commit' to add this file permanently
tmh at keiko:~/a/dir$ cvs commit -m "" a
RCS file: /testrepo/a/dir/a,v
done
Checking in a;
/testrepo/a/dir/a,v  <--  a
initial revision: 1.1
done

Fiddle around with the ACLs again.. delete the ACL from a so we're 
inheriting from the root:

tmh at keiko:~/a$ cd ..
tmh at keiko:~/a$ cvs chacl -d
deleting ACL for directory .
tmh at keiko:~/a$ cd dir
tmh at keiko:~/a/dir$ ls >>a
tmh at keiko:~/a/dir$ cvs commit -m "test" a
cvsnt server: User tmh is unable to write to ./a - ignoring

Put an ACL in the dir subdirectory.. inheriting read from root and a:

tmh at keiko:~/a/dir$ cvs chacl -a read,write,create
setting ACL for directory .

Now able to commit:
tmh at keiko:~/a/dir$ cvs commit -m "test" a
Checking in a;
/testrepo/a/dir/a,v  <--  a
new revision: 1.2; previous revision: 1.1
done

Now remove the ACLs for a and dir again:

tmh at keiko:~/a/dir$ cvs chacl -d
deleting ACL for directory .
tmh at keiko:~/a/dir$ cd ..
tmh at keiko:~/a$ cvs chacl -d
deleting ACL for directory .

Add a noninherited write to the a directory:

tmh at keiko:~/a$ cvs chacl -n -a read,write,create
setting ACL for directory .
tmh at keiko:~/a$ cvs lsacl
setting ACL for directory .
Directory: .
Owner: tmh

<default>
         read()
         write()
         create()

(not showing 'noinherit' seems to be a bug in this version, but the 
brackets are a giveaway).

Now check the subdirectory to see that -n is in effect:

tmh at keiko:~/a$ cd dir

tmh at keiko:~/a/dir$ ls >>a

tmh at keiko:~/a/dir$ cvs commit -m ""
cvs commit: Examining .
cvsnt server: User tmh is unable to write to ./a - ignoring

As expected, no write access to the subdirectory.

Tony


More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook