X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B0732385700C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=emmenlauer.de Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=mario AT emmenlauer DOT de To: cygwin AT cygwin DOT com References: <1279009444 DOT 20201006184606 AT yandex DOT ru> From: Mario Emmenlauer X-Tagtoolbar-Keys: D20201006181055240 Message-ID: Date: Tue, 6 Oct 2020 18:10:55 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <1279009444.20201006184606@yandex.ru> Content-Language: en-GB X-SA-Exim-Connect-IP: 213.160.25.97 X-SA-Exim-Mail-From: mario AT emmenlauer DOT de X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, TXREP, T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Subject: Re: test -r or -x always return false on an NFS mount? X-SA-Exim-Version: 4.2.1 (built Sun, 08 Nov 2009 07:31:22 +0000) X-SA-Exim-Scanned: Yes (on aldebaran.he1ix.org) X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" Dear Andrey, On 06.10.20 17:46, Andrey Repin wrote: > Greetings, Mario Emmenlauer! > >> thanks for the awesome Cygwin, its really great! > >> 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. > > This is a known issue. For years known. > test only guess -r/-w/-x results based on permissions as it sees them. > But it do not actually try to read/write/execute the subject, which, as you > can imagine, may lead to all sorts of false positives/negatives on filesystems > with less than trivial access control setups. > In other words, don't test for rwx if you can avoid it. The results MAY be > wrong. Ok, this explains a lot, and I almost guessed as much! But can I ask, do you happen to know why `ls -l` shows the "correct" permissions including 'r' and 'x'? It seems `ls` has some magic that `test` is lacking? And I can not imagine that `ls` would try to open every file, or does it?. So could this "magic" be ported from `ls` to `test`? Cheers, Mario Emmenlauer -- 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