[cvsnt] 2.0.51 windows clien - problems:
Tony Hoyle
tmh at nodomain.org
Thu Jul 29 17:51:43 BST 2004
Harrison, Andrew wrote:
> No, my default permissions are Full Control to Everybody. The problem is
> that files checked out by 2.0.51 are *NOT* inheriting the parents
> permissions, but are generating their own from somewhere.
There seems to be a strange Windows bug that means 'Everybody' doesn't
inherit the execute bit (you must have execute on the parent directory
anyway otherwise you couldn't enter it to run the file.. this means it
should pick up the execute from the directory, which it does normally).
The default permissions seem to be (just checked on a drive I haven't
used yet):
Administrators full control
CREATOR OWNER special (Full control on subfolders only)
Everyone special (read/execute not inherited)
SYSTEM full control
Users Read/Execute (plus create folders/create files)
This combination grants execute to every file on the system, even if you
remove it from a file. I espect it's the CREATOR OWNER one that does it
(without a proper template for owner of course you could create files
that you couldn't then read...).
CVS primarily works with Unix file permissions, so propogates them as
Unix permissions. Up until today I've taken it as read that 'execute'
on Windows meant nothing (this is common knowledge dating back from the
first appearence of it on NT4) - presumably because all the permissions
are normally set to make it mean nothing. Now it turns out that you can
actually deny execute on a file (as an aside I would have *loved* this
feature on a project I was on 6 months ago.... I ended up with a really
ugly hack to do the equivalent).
The only way around it is to grant execute and commit a revision with
execute on (or change the default permissions, but I'm not sure of the
smallest combination that would make it work again).
Tony
More information about the cvsnt
mailing list