delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/09/15/16:20:06

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
From: John Ruckstuhl <john_ruckstuhl AT hansenmedical DOT com>
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Date: Thu, 15 Sep 2011 13:19:34 -0700
Subject: RE: cygwin 1.7.9, problem with cygwin1.dll, path_conv::check, has_acls()? (Windows 7)
Message-ID: <3ED156B391DFFE4685AD2AEA0159D28004E91D8EEF@USWINHQMBX1.hansenmedical.com>
References: <3ED156B391DFFE4685AD2AEA0159D28004E91D8C79 AT USWINHQMBX1 DOT hansenmedical DOT com> <j4qpsh$b3q$1 AT dough DOT gmane DOT org> <4E70EC5B DOT 50209 AT cygwin DOT com> <3ED156B391DFFE4685AD2AEA0159D28004E91D8DA5 AT USWINHQMBX1 DOT hansenmedical DOT com> <4E7113EB DOT 9040407 AT cygwin DOT com>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id p8FKK1SA018564

NEW information -- this UNC permissions confusion is new behavior in 1.7.9,
it does not show in 1.7.8 (on the same Windows 7 system).

> > > It seems you are suspicious of the mount... that a defective mount WOULD
> > > interfere when the target is expressed one way, and WOULDNOT interfere
> > > when the target is expressed the other way.
> >
> > Not defective, no.  In my case, I'm suggesting that you turn off POSIX
> > permissions.  These sometimes cause problems for network drives.  So
> > do something like this:
> >    mkdir /foo
> >    mount -o noacl,binary,notexec //hyperdisk/Data/Engineering/ruck /foo
> > Then try the same tests using /foo as the root path.
>
> Okay, Larry's thinking is confirmed.
>     $ mkdir /foo.noacl
>     $ mount -o noacl,binary,notexec //hyperdisk/Data/Engineering/ruck /foo.noacl
>     $ mkdir /foo.acl
>     $ mount -o binary,notexec //hyperdisk/Data/Engineering/ruck /foo.acl
>     $ cd /foo.noacl
>     $ touch xoo.1
>     $ cd /foo.acl
>     $ touch xoo.2
>     touch: cannot touch `xoo.2': Permission denied
> That is, problem shows under /foo.acl (but not under /foo.noacl)
> But for what it's worth, my problem does NOT appear when I'm on a 1.7.7
> System hitting that same fileserver-directory.

Larry Hall shows me how to explicitly mount, with noacl, to workaround the getting of wrong permissions.
Thorsten Kampe is also recommending explicit mount instead of accessing via UNC reference.

Okay, thanks for the excellent workarounds.

As to the original problem, i.e. different results from getpermissions(), depending on whether you 
(a) construct the UNC with all "/", or 
(b) with "\" in there, ...
Here's NEW information -- this UNC permissions confusion is new behavior in 1.7.9,
it does not show in 1.7.8 (on the same Windows 7 system).

I used setup to downgrade to 1.7.8, started a shell,
    $ uname -a
    CYGWIN_NT-6.1 CND0360JCB 1.7.8(0.236/5/3) 2011-03-01 09:36 i686 Cygwin
    $ bash --version
    GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)    $ cd //hyperdisk/Data/Engineering/ruck
    $ touch zoo.1050

Then I exited the shell and used setup to re-upgrade... and started a shell,
    $ uname -a
    CYGWIN_NT-6.1 CND0360JCB 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
    $ bash --version
    GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)
    $ cd //hyperdisk/Data/Engineering/ruck
    $ touch zoo.1054
    touch: cannot touch `zoo.1054': Permission denied
    $ touch .\\zoo.1055
    cygwin warning:
      MS-DOS style path detected: .\zoo.1055
      Preferred POSIX equivalent is: ./zoo.1055
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
(zoo.1054 was not created due to error, zoo.1055 was created despite the warning)

So, I'm claiming this is a change with 1.7.9.  
I'll leave it to others to classify this as a new "bug", "feature",
And I'll be interested to see that discussion.
Meanwhile, thanks for showing a workaround.  Other colleagues are affected, so
we will discuss whether we want to stay downgraded or start using explicit mounts.
Thanks, and regards,
John Ruckstuhl

--
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