LDAP integration / ACL in Perl revisited

Achim Gratz Stromeko@NexGo.DE
Tue Jun 24 12:19:00 GMT 2014


I've just set up a new machine with Cygwin (64bit w/ the 2014-06-23 13:20:35
snapshot), nsswitch.conf specifies "db" for both passwd and group (the files
have been moved away just to be sure they aren't picked up).  I have one
share with somewhat strange ACL that I always had to use via a "noacl" mount
option.  I thought I should try again and this is what happened (bla is a
file that has non-zero size and is owned by me):

(1014) > getfacl bla
# file: bla
# owner: gratz
# group: Domain Users
user::---
group::---
group:+Authenticated Users:rwx
mask:rwx
other:---

(1015) > [ -r bla ] && echo Hello...
Hello...
(1018) > perl -E 'say -R "bla" ? "yes" : "no"'
no
(1016) > perl -E 'say -r "bla" ? "yes" : "no"'
no
(1017) > perl -E 'say -O "bla" ? "yes" : "no"'
yes


So for whatever reason Perl still doesn't deal correctly with those ACL,
while the shell test operator does.  Now the kicker: if I run Perl under
strace, the test succeeds... huh?

   26  556465 [main] perl 5712 path_conv::check: this->path(\\share\bla),
has_acls(1)
   34  556499 [main] perl 5712 build_fh_pc: fh 0x18032C9F0, dev 000000C3
   27  556526 [main] perl 5712 stat_worker: (\??\UNC\share\bla, 0x600039498,
0x18032C9F0), file_attributes 32
12380  568906 [main] perl 5712 fhandler_base::fstat_helper: 0 = fstat
(\??\UNC\share\bla, 0x600039498) st_size=228, st_mode=0x81A4,
st_ino=8320105424607096594st_atim=53A96650.28F3A48 st_ctim=528DB9A1.13F33938
st_mtim=528DB9A1.4EE2D30 st_birthtim=528DB9A1.44615F0
   66  568972 [main] perl 5712 stat_worker: 0 = (\??\UNC\share\bla,0x600039498)
 3210  572182 [main] perl 5712 fhandler_pty_slave::write: pty0,
write(0x600082E00, 4)
   27  572209 [main] perl 5712 fhandler_pty_slave::write: (656): pty
output_mutex (0x184): waiting -1 ms
   24  572233 [main] perl 5712 fhandler_pty_slave::write: (656): pty
output_mutex: acquired
yes


Incredibly, this also works with the original script that led me onto this
hunt.  It runs a lot slower with all that stracing going on of course.

Ideas?

Regards,
Achim.


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