1.7.7(0.230/5/3) - Cannot change mode of file, and other permission issues on a Windows fileshare

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Sep 24 16:58:00 GMT 2010

On Sep 24 08:49, Keith Christian wrote:
> > Does a call to chmod fail as well?  If so, can you create an strace of
> > such a chmod, like this:
> >
> >  $ touch foo
> >  $ strace -o chmod.trace chmod 444 foo
> >
> > and send the chmod.trace file to the list?
> Thanks, Corinna,
> Yes, I receive "chmod: changing permissions of `foo': Permission
> denied" when executing chmod 444 foo.

Here's the problem:

 fhandler_base::open: C0000022 = NtCreateFile (0x0, E0100, \??\Z:\foo, io, NULL, 0, 7, 1, 4000, NULL, 0)

Cygwin tries to open the file for writing the control information
requesting WRITE_DAC and WRITE_OWNER access, but the remote filesystem
refuses the request with an "Access denied" status code.

I was going to say that we can't do anything against that, but then
it occured to me that this isn't quite right.  Actually we don't
need WRITE_OWNER access for the chmod functionality, so it's perhaps 
still possible to call chmod on that remote filesystem if cygwin omits
the WRITE_OWNER access flag when opening the file.

I applied a tiny patch to Cygwin, which only requests WRITE_DAC, not
WRITE_OWNER in calls to chmod.  Please test the next developer's
snapshot from http://cygwin.com/snapshots/ and see if it fixes your
problem.  If you still get "Permission denied", it's actually a problem
of the server which doesn't allow to change the ACL of a file via the
share for some reason.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list