Mike Williams
11/15/2011 5:53:00 PM
According to the Micro$oft documentation the All Users Public Documents
folder (CSIDL_COMMON_DOCUMENTS, which is c:\Users\Public\Documents on my own
Vista machine) is by default read/write for the creator of a document but
read-only for all other (non admin) users, unless permissions are modified.
This seems to be confirmed when I check the permissions in Explorer where I
can see that in the Allow column under the Security tab there is a tick
against Read but no tick against Write for "Everyone".
However, when I create a folder in CSIDL_COMMON_DOCUMENTS and when I write a
file into that folder I find that all users, including ordinary non-admin
users, can edit / modify the file I created, and that all users then see the
modified document. After discovering this I double checked again in Explorer
and I found that the Public Documents folder itself and the sub folder and
file I created in it all still have a tick against Read but no tick against
Write in the Allow column for "Everyone". I checked this on all user logins
and it was the same. Maybe I am a bit niaive (as someone here recently
called me) but I would have thought that a write would not be allowed by a
non-admin user who did not actually create the document under those
circumstances.
What is going on here? I can explicitly deny Write to all users by placing a
tick under the Deny column against Write, but I had assumed that simply
having "no tick" against Write under the Allow column (which certainly
appears to be the default on my own Vista machine) would be sufficient,
especially since as far as I understand a tick against Write in the Deny
column has further reaching effects as far as people who are members of more
than one Group are concerned (whatever a Group is?). I certainly would have
thought that on a standard machine with its default settings, where there is
simply no tick against Write under the Allow column for "Everyone", would be
sufficient to prevent writes by other non-admin users on a document that was
created by someone else, especially since Micro$oft seem to say that is the
default behaviour.
The behaviour on my system seems to be at odds with Micro$oft's description
of the default settings, which seems odd. Is there something here that I
have just failed to understand? I suspect there might be.
Mike