delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 38116384A01C |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
s=default; t=1602664127; | |
bh=o3n4e5q6aw7V0R0h7TO4gFvj1qZ5Wd5RfC765tGp57c=; | |
h=Date:From:To:Subject:References:In-Reply-To:List-Id: | |
List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: | |
Reply-To:From; | |
b=BAzuTbmy4I/6B6fSyCv2RT3MOqUw0tvh+CmcbOGzYYNhogUPXd4JwEN2BI/cegE5V | |
0IBDVCPu8vF4gSF+1XtK920gMerEA3OmbCHJvHYD646WH3Tn1ReMg4wUbD7zmGbo// | |
nURLXFysdNlTignVa9aZD0mJ1cXEKgOWLm3albaQ= | |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.3.2 sourceware.org B502A3854822 |
Authentication-Results: | sourceware.org; |
dmarc=none (p=none dis=none) header.from=cygwin.com | |
Authentication-Results: | sourceware.org; |
spf=fail smtp.mailfrom=corinna-cygwin AT cygwin DOT com | |
Date: | Wed, 14 Oct 2020 10:28:41 +0200 |
From: | Corinna Vinschen <corinna-cygwin AT cygwin DOT com> |
To: | cygwin AT cygwin DOT com |
Subject: | Re: test -r or -x always return false on an NFS mount? |
Message-ID: | <20201014082841.GY26704@calimero.vinschen.de> |
Mail-Followup-To: | cygwin AT cygwin DOT com |
References: | <d05f79db-5574-d408-28ce-7840cddff7ec AT emmenlauer DOT de> |
<1279009444 DOT 20201006184606 AT yandex DOT ru> | |
<c5adbabd-f6c1-7a09-2af2-fdd819b76cdf AT emmenlauer DOT de> | |
<20201013183650 DOT GW26704 AT calimero DOT vinschen DOT de> | |
<2820bfde-68f4-e2f9-78c4-4174423a6213 AT emmenlauer DOT de> | |
MIME-Version: | 1.0 |
In-Reply-To: | <2820bfde-68f4-e2f9-78c4-4174423a6213@emmenlauer.de> |
X-Provags-ID: | V03:K1:lh78giZWENg/WZ7eo/8LKm/qTUKRVJUcfm5a0heTN1rauHnwSyC |
4T2l8YTU0OqDE+gbSJF6BA0RQb7anWacSYq8rIPg1zuYEgInSLKb+NZRjUKK+Vbu+9aDuaV | |
QI/u6O0tPUaNEmNG4pACAdHkMSaVEGJGA37e9po9CV39dj9fsJ3rMANDXtswHlCy1LyjdNh | |
2zHu+jlp6h99xR6TkfAeg== | |
X-UI-Out-Filterresults: | notjunk:1;V03:K0:5roKuvRI1ss=:Ab7WJOvC9Zha7OFFmYyvRE |
j4yiMoIIhW/H/zRaaUQ33X7jSNdKJsm+wQH4ZDlglb55SU9H1WDYxIdTi1Rjzwn/gbKhPCEcS | |
1iXo81csqWsBfzNaoOx55buKVt0NBPLKoN/h/t2Qp6OuzV21CsdQKK2vgWEhwSBKBpYSas0AC | |
4k1eEoiGKrb8wA1Trosz7gH+0LiuIGLv3u+iFVPijN8zykUwKKkfj3yaaQMmKHbUrzfXrbJsq | |
DACgjXop+6e8z6oVShaa3WsTts31EefsGvf7wYH0NIq68/W6kAZqSAn6XDS4qDxf+RjlBtRb+ | |
9o4SHMgOYd8E9nZtNyEUEdDERLtZNSphv7oS6VydVEgFkxKhsKZXFWEU1T36r8D8hIwtsfDfW | |
FoaHd5p9gKjsIV6tkx9ypftyMKimMlfYLNtoKl0KS7foPRGa2G/IZlYyEarOSMiypnF7wRyhn | |
jck39tHx4KHlpNAsR4BCap92nSecTNfhzB1I5fWkXLOYFScgx6+0KdQiJyeZZ7fEedx69xJIY | |
h4omw4Ck7AjG+n/RNBFwuvmsdHLq9EsrxfX8wJKuYsxIqf6y/Z8SeGiYrZ5VzI+JSOcDUFyX4 | |
ztyR+VMM9CyrJ2y7GSewNVRLNENpHGRp3rUpwn4GQmFWxoAuAb6buAmAHY2DlqmUoqJIVvDt8 | |
vHzB47TKpT9tzNBK6+PMsGm/cTxkXULspEBXZpzcZPT4pbOuzl2DJORXc5gu91bgl7MLmSaYK | |
gVJBF7LrDbZ8hK1rp21rritVCIIJ0A3v3OL7HiQHOhR2XvL3cqOxEL703hZQKViFqS7uUfYBn | |
Z2LZuNMZ5P3HPrfsmzVqL1LIvadiWhu9gBJlKD6i45YE/FfYEpRwwmOC81jyLiJIF+kxM7lff | |
bLahroqmvaBh+xfdku4g== | |
X-Spam-Status: | No, score=-100.2 required=5.0 tests=BAYES_00, |
GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, | |
RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, | |
TXREP autolearn=ham autolearn_force=no version=3.4.2 | |
X-Spam-Checker-Version: | SpamAssassin 3.4.2 (2018-09-13) on |
server2.sourceware.org | |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.29 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
Reply-To: | cygwin AT cygwin DOT com |
Errors-To: | cygwin-bounces AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces AT cygwin DOT com> |
On Oct 13 21:00, Mario Emmenlauer wrote: > Hi Corinna, great to have you back :-) Thanks! > On 13.10.20 20:36, Corinna Vinschen wrote: > > > > > Everything seems to work quite well, and in `ls -la` I can see the > > > > > file permissions and user and group entries. But when using `test` > > > > > to check for read (`test -r`) or execute permissions (`test -x`), it > > > > > always returns false, even for readable files. `ls` on the other hand > > > > > shows the permissions correctly, and `cat`ing the files works without > > > > > problems. > > > > There's something fishy in your environment. NFS permissions from NFS > > shares mounted via Microsoft's NFSv3 are read using some internal > > function I got hinted at by the MSFT NFS guys at one point. This > > information is then exported as mode bits by Cygwin's stat(2) and used > > accordingly by Cygwin's access(2). > > > > Having said that, there's *no* magic at all in the user space > > applications other than using Cygwin's stat(2) and access(2) functions. > > > > Consequentially, using Cygwin's ls(1) or test(1) from coreutils, the > > results are the expected ones in both cases; just tried it myself, just > > to be sure. > > > > So, what's fishy? I don't know, but maybe you're using a non-Cygwin > > test(1) accidentally? > > I see your point, but to the best of my knowledge there is nothing > fishy. Its a freshly set up computer with an official Windows 10 x64 > from Microsoft directly. I've installed all latest updates including > the 2004 update. Cygwin was also just installed a few months ago. > > I did use a script to install Cygwin via its installer in an automated > fashion, but I've run the normal, graphical installer a few times since > then to make sure everything is nice and clean. > > Calling "which test" shows "/usr/bin/test", but since I use only > bash in all my scripts, I guess it anyways defaults to the builtin. Please check and try again with the stand-alone test(1), too. > The only "weak link" in my setup is the NFS mount. I'm no expert > in exporting NFS, nor in mounting NFS from Windows. Maybe something > is fishy there, albeit I did not use any special parameters or > quirks (again, to the best of my knowledge). What I can say is that > I'm limited to NFS v3 since its not a Server-Edition Windows. MSFT NFS is still limited to v3, anyway, on Windows Server, too. Be it as it is, this is no good reason for your results. I'm running AD as name service for the NFS client, but even if you have no name service for NFS installed, Cygwin fakes the uid/gid to match your own Windows user (just like on FAT). So you'd be bound to get more false positives, rather than false negatives. > Also, > I tried my best to open all NFS ports in the firewall but possibly > I'm not running one of the many extended NFS services like lockd > or something. I checked that most are installed, running and use a > static port, but its hard to be sure, since NFS seems to support > quite many "extras". The MSFT NFS client has two pre-configured entries in the Windows firewall called "Client for NFS (TCP-Out)" and "Client for NFS (UDP-Out)". These should be activated, nothing more should be required (unless using a name service, AD or RFC 2307, but that's a different story). > Is there anything I can do to isolate this further? Its a quite > curious case and I'm basically at the end of my wit... Actually, not really. It's weird in fact, given ls(1) shows the desired result. That would point to a bug in access(2), but there's no special code in access(2) for NFS. For filesystems not supporting ACLs (FAT, NFS, etc), it calls stat(2) and checks the st_mode bits against the requested access(2) mode based on the uid/gid of the caller, simple as that. Wrong uid/gid could wreck havoc, though. Maybe there is a bug in terms of using NFS without name service. Please call ls(1) and test(1) -r (not the bash builtin) on a file exposing the behaviour under strace like this: $ strace -o ls.trace /bin/ls -l <file> $ strace -o test.trace /bin/test -r <file> and send the trace files here, together with the output of the above ls(1) call and the output of id(1). Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |