X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 24 Sep 2010 18:28:26 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: 1.7.7(0.230/5/3) - Cannot change mode of file, and other permission issues on a Windows fileshare Message-ID: <20100924162826.GA25401@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20100921165156 DOT GD13235 AT calimero DOT vinschen DOT de> <20100924092627 DOT GB6694 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 -- 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