Empty file without "x" permission is successfully executable on Cygwin

Ken Brown kbrown@cornell.edu
Mon Aug 5 20:39:00 GMT 2019


On 8/5/2019 4:19 PM, Thomas Wolff wrote:
> 
> Am 05.08.2019 um 22:01 schrieb Ken Brown:
>> On 8/5/2019 2:18 PM, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin wrote:
>>> Hi,
>>>
>>> Please consider the following shell session:
>>>
>>> $ cat dummy.c
>>> #include <stdio.h>
>>>
>>> int main()
>>> {
>>>       return 0;
>>> }
>>> $ gcc -o dummy dummy.c
>>> $ mv dummy.exe dummy
>>> $ ./dummy
>>> $ echo $?
>>> 0
>>> $ chmod a-x dummy
>>> $ ./dummy
>>> -bash: ./dummy: Permission denied
>>> $ rm dummy
>>> $ touch dummy
>>> $ ./dummy
>>> $ echo $?
>>> 0
>>>
>>> So Cygwin lets the shell to execute a zero-sized file regardless of the "x" perm
>>> (non-empty files are not executable if they do not have "x", as shown above).
>> I can't reproduce this on my system.  Can you show the permissions and ACL of 
>> dummy?
>>
>>> There's more.  If I put some rubbish in a file, Cygwin still tries to execute 
>>> it even if the "x" is not there:
>>>
>>> $ rm dummy
>>> $ echo "1" > dummy
>>> $ ./dummy
>>> ./dummy: line 1: 1: command not found
>> Again I can't reproduce this.
> I reproduce the behaviour:
>  > echo echo foo > bar
>  > ls -l bar
> -rw-r--r-- 1 towo None 9  5. Aug 22:18 bar
>  > ./bar
> foo

You're right.  I was careless in my test.  Sorry for the noise.

Ken

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



More information about the Cygwin mailing list