delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/09/10/13:09:26

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Fri, 10 Sep 2010 19:09:01 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Oddities with file deletion on CIFS drive
Message-ID: <20100910170901.GF16534@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <FF9587650EB15D3C59CFAA56@[192.168.1.2]> <20100910091632 DOT GB16534 AT calimero DOT vinschen DOT de> <37DB6F6163A83BE3A0AA4D4D@[192.168.1.2]>
MIME-Version: 1.0
In-Reply-To: <37DB6F6163A83BE3A0AA4D4D@[192.168.1.2]>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 10 09:47, Quanah Gibson-Mount wrote:
> The files are created with a native Win32 application (Perforce),
> where it is checking these files out of the Perforce repository.
> 
> Here is the output from cacls prior to +w/-w:
> build AT zre-win-002 /cygdrive/z/current/WINDOWS/main/20100908131458_ZDESKTOP/ZimbraBuild/templates
> $ cacls BUILD_ISYNC_template
> Z:\current\WINDOWS\main\20100908131458_ZDESKTOP\ZimbraBuild\templates\BUILD_ISYNC_template
> Everyone:F
> <Account Domain not found>F
> <Account Domain not found>R
> Everyone:R

These permissions look very weird.

> Here is cacls after +w/-w:
> Z:\current\WINDOWS\main\20100908131458_ZDESKTOP\ZimbraBuild\templates\BUILD_ISYNC_template
> <Account Domain not found>(special access:)
> 
> STANDARD_RIGHTS_ALL
> 
> DELETE
> 
> READ_CONTROL
> 
> WRITE_DAC
> 
> WRITE_OWNER
> 
> SYNCHRONIZE
> 
> STANDARD_RIGHTS_REQUIRED
> 
> FILE_GENERIC_READ
> 
> FILE_GENERIC_EXECUTE
> 
> FILE_READ_DATA
> 
> FILE_READ_EA
> 
> FILE_EXECUTE
> 
> FILE_READ_ATTRIBUTES
> 
> FILE_WRITE_ATTRIBUTES
> 
> 
> <Account Domain not found>R
> 
> Everyone:R

This looks better.  The fact that the accounts can't be found is
probably because it's running Samba and the drives are not real NTFS, so
the SIDs returned by Samba are the artificial SIDs generated from the
Unix uid/gid.  Btw., just because the Unix user is called "build", it's
not necessariliy the same user as the Windows user "build".  Actually,
if you don't use Samba with winbind and only use WIndows users from AD
on both machines, the accounts are different.

> Done.  I've provided strace output from both rm <FILE> and rm -f <FILE>
> 
> Let me know if there is anything else I can provide.

I'm not sure.  I don't think so.  The problem is that the unlink(2)
function in Cygwin does not get any error code from any of the OS
functions it calls.  So, from the Cygwin POV everything worked fine.
How is it supposed to know that anything has gone wrong, if the
underlying OS doesn't tell?


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019