This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Filemode change by windows applications
- From: Kjetil Østerås <kjetilos at gmail dot com>
- To: moss at cs dot umass dot edu, cygwin at cygwin dot com
- Date: Wed, 28 Mar 2018 16:27:26 +0200
- Subject: Re: Filemode change by windows applications
- References: <CAFeO1eoW52-4S4gD0=YL7g1YKsjjn9Jk8twV22e57HmmKQc5vg@mail.gmail.com> <06ceaabb-dd38-881b-c900-4c695e31e95a@cs.umass.edu>
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