Filemode change by windows applications

Kjetil Østerås kjetilos@gmail.com
Wed Mar 28 14:40:00 GMT 2018


Hi Eliot,

Do you know where I can find documentation or source code that describes
the mapping that cygwin implements?

2018-03-28 15:06 GMT+02:00 Eliot Moss <moss@cs.umass.edu>:

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


-- 
Kjetil Østerås

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