1.7.7(0.230/5/3) - Cannot change mode of file, and other permission issues on a Windows fileshare
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
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin