Shares with strange ACL settings

Achim Gratz Stromeko@nexgo.de
Wed Aug 12 18:09:00 GMT 2015


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.

> But there's no additional checking necessary because the perms are
> guarded by the OS anyway.  The applications just don't know them exactly.

I have several scripts where tests for a readable file had to be
replaced with a test for non-zero-size file or just existing file.
Also, with the noacl option you'll always get a positive on most tests
and if the code is unprepared to handle the inevitable failure on the
actual access, then bad things can happen.  Not every piece of code has
already converted to the "let's try it and bail out when we get told to
get off" style of file access.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

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