When saving files in Cygwin on Windows, files are typically created with file permissions 000. This is due to Cygwin’s default behavior of using the filesystem’s access control lists (ACL) to implement real POSIX permissions. Cygwin will translate some ACL settings to 000.
This leads to all sorts of problems. Relevant context.
One way of fixing this is to disable ACLs in Cygwin. This is how to do it:
noacl option to mountpoint
noacl mount option causes cygwin to ignore ACL and fake a subset of permission bits based on the DOS read-only file attribute.
In /etc/fstab, change the line:
none /cygdrive cygdrive binary,posix=0,user 0 0
none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
Close Cygwin all terminals and start it again.