Кажется, cygwin считает все файлы исполняемыми:
/tmp> echo "echo abc" > a
/tmp> ls -l a
-rw-r--r-- 1 I063510 Domain Users 9 Apr 9 15:39 a
/tmp> ./a
abc
/tmp> cygcheck -c base-cygwin
Cygwin Package Information
Package Version Status
base-cygwin 3.8-1 OK
Я уверен, что это поведение недавно изменилось. Это настраивается так, чтобы я такие файлы не выполнял?
Кажется, я даже помню, что мне пришлось изменить разрешение файла .bat, созданного внутри cygwin, чтобы его можно было запустить из командной строки Windows, но я могу ошибаться.