This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Issues encountered with new Cygwin version
- From: Ken Brown <kbrown at cornell dot edu>
- To: cygwin at cygwin dot com
- Date: Sat, 26 Sep 2015 18:10:29 -0400
- Subject: Re: Issues encountered with new Cygwin version
- Authentication-results: sourceware.org; auth=none
- References: <BLU182-W10FB6B21A2AEC90F71470FD4450 at phx dot gbl> <154887677 dot 20150923111537 at yandex dot ru> <BLU182-DS2B4F831FEB7E4C1B67330D4440 at phx dot gbl> <56036256 dot 8080209 at tlinx dot org> <BLU182-DS2567923242507AF88D9315D4430 at phx dot gbl> <56037F66 dot 40209 at tlinx dot org> <BLU182-DS177F609D3B4BC69A880C77D4430 at phx dot gbl> <56042985 dot 2040104 at tlinx dot org> <BLU182-DS23E73EC671521B950E6875D4420 at phx dot gbl> <1275666051 dot 20150926120518 at yandex dot ru> <BLU182-DS1484E63B23E4228B1C49B4D4410 at phx dot gbl>
On 9/26/2015 4:26 PM, Walter L. wrote:
On 9/26/2015 5:05 AM, Andrey Repin wrote:
Greetings, Walter L.!
> This is very unfortunate because I'm using Git in Cygwin specifically
> because it doesn't set the executable bit like Windows applications.
This is, you know, configurable?...
Which part? Git or Cygwin? You mean I can configre Cygwin to prevent Git from
creating files that inherit the executable bit from the ACL?
I don't mean to be nit-picking, but the way you phrased this questions suggests
that you have some misconceptions about what's going on here. There are two
separate issues:
1. Starting with Cygwin 1.7.34, the "group permissions" of a file reflect not
only the permissions of the primary group of the file, but also all secondary
user and group entries in the file's ACL. This is explained in
https://cygwin.com/faq/faq.html#faq.using.ssh-pubkey-stops-working
in the context of ssh, but it applies equally well to your situation.
So if you're seeing an unexpected executable permission, it's because the file
has an ACL entry giving executable permission to some user or group other than
the primary ones. You can see these ACL entries by running getfacl on the file.
A typical example is "group:Administrators:rwx", which occurred in some of the
ACLs in my earlier email.
2. If the directory has *default* ACL entries, then these entries, by default,
will be inherited by files created in that directory (by Git or any other
application). Looking at my earlier email again, you'll see some directories
with ACL entries "default:group:Administrators:rwx", causing the entry
"group:Administrators:rwx" to be inherited by files created in those
directories. As explained above, this causes rwx permissions to show up as
"group permissions" of the file.
In your situation, you are working in a directory that, for whatever reason,
contains such default ACL entries. If you don't want files created in that
directory to inherit the corresponding entries, then you need to get rid of
those unwanted default ACL entries. The simplest way is to run 'setfacl -b' on
the directory, as explained in the FAQ cited above and in my earlier email.
None of this is special to Git or to executable permission.
Ken
--
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