Web lists-archives.com

Re: Filemode change by windows applications

On 3/28/2018 3:09 AM, Kjetil Østerås wrote:

I notice that when I edit and save a file in a windows application this
file sometimes get the execute file permission set in cygwin. Some windows
applications do this and some don't. For instance in my setup if i modify a
.c file using Meld then the execute bit is set, however when I modify the
same file with sublime text 3 then the execute bit is not set.

Why does this happen? and is there anything I can do to prevent windows
applications from setting the execute bit on my files?

The Windows file permissions (access control) is substantially different
from the Posix model that Cygwin attempts to present.  The mapping from
Windows to Posix that Cygwin implements is arguably the best / most
reasonable mapping between the disparate schemes, and has been carefully
refined over time.  But it is just a mapping from the underlying scheme.

So, if some Windows program sets permissions a particular way, that it how
they show up under Cygwin.  To answer your question more directly: No, you
can't prevent a Windows program from setting (the underlying access modes
that translate to what is presented as) the execute bit under Cygwin -
short of preventing the programs from accessing the file altogether,
presumably not what you want.

File access translation is perhaps one of the roughest edges that Cygwin
*tries* to smooth over.  I think it does a good job with what it has, but
the Windows scheme is complex and there is no perfect way to do this.

Note, though, that there is no good way to prevent a Unix program from
setting execute bits on a particular file either (well, the umask, and
possibly ACLs may give you some control if you want to go to the bother).
It's just that Unix programs don't tend to set that bit unless they are
creating an executable.

Someone more versed in the Windows access control scheme and the intention
of various permissions might be able to clarify why some many Windows
programs think it is a good thing to set the access mode(s) that Cygwin
reflects as the x bit ...

Regards - Eliot Moss

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