This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Shares with strange ACL settings


On Aug 12 20:09, Achim Gratz wrote:
> Corinna Vinschen writes:
> > Cygwin is aware of them and access(2) explicitely checks for them.  That
> > obviously doesn't help for applications like perl, who "know better"
> > than the underlying OS how to evaluate perms.
> 
> Perl is making use of an explicit guarantee in POSIX' ACL specification,
> placed there in order to be backwards compatible to a system without
> ACL.  Whether it is a good idea to do this is debatable of course and I
> might hunt that code path down in Perl and squash it in some future
> release.  It nevertheless is chink in Cygwin's shiny armor of "hey,
> we're POSIX of the Linux flavor".
> 
> FWIW, Git seems to have an explicit check for POSIXPERMS in order to
> sort out systems that don't conform exactly to that expectation.
> 
> > It does.  Another, *very* simple idea is this:  Spill the group and
> > other perms into the user bits only if the owner of the file is the
> > current user.  Would that help?
> 
> I think so, but there are likely some corner cases.  But I think that
> had been proposed and shot down already, so I was trying to come up with
> something less intrusive.

This is relatively unintrusive.  The current user token is always
available.  So if owner == current user, for every group in the file's
ACL just check if it's in the current user token and, if so, add the
perms of that group to the owner perms.

Sounds pretty neat as an intermediate solution to me.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpiqjEPh75T_.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]