On Mar 10 17:19, Achim Gratz wrote: > Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes: > > The fact that the shells are doing it right seems to indicate that this > > isn't a generic problem. I can't debug this, though. Can you see if > > you can figure out what's going on under the hood? Does strace show > > anything of interest? Can we perhaps set up some joint debugging via > > private mail during the next couple of days? > > Perl goes through stat64 that seems to explicitly check the ACL while sh > uses a different codepath. I don't see anything obviously wrong with either > trace. If I set up cygdrive to use the noacl option the problem goes away, > apparently because the ACL check never takes place within stat64. > > 869 2501512 [main] perl 2604 stat64: entering > 814 2502326 [main] perl 2604 normalize_posix_path: src x86 > 802 2503128 [main] perl 2604 cwdstuff::get: posix /cygdrive/x/install > 1195 2504323 [main] perl 2604 cwdstuff::get: (/cygdrive/x/install) = > cwdstuff::get (0x80000008, 32768, 1, 0), errno 0 > 810 2505133 [main] perl 2604 normalize_posix_path: /cygdrive/x/install/x86 > = normalize_posix_path (x86) > 1195 2506328 [main] perl 2604 mount_info::conv_to_win32_path: > conv_to_win32_path (/cygdrive/x/install/x86) > 810 2507138 [main] perl 2604 mount_info::cygdrive_win32_path: src > '/cygdrive/x/install/x86', dst 'X:\install\x86' > 837 2507975 [main] perl 2604 set_flags: flags: binary (0x2) > 810 2508785 [main] perl 2604 mount_info::conv_to_win32_path: src_path > /cygdrive/x/install/x86, dst X:\install\x86, flags 0x4022, rc 0 > 3329 2512114 [main] perl 2604 symlink_info::check: 0x0 = NtCreateFile > (\??\X:\install\x86) > 2816 2514930 [main] perl 2604 symlink_info::check: not a symlink > 845 2515775 [main] perl 2604 symlink_info::check: 0 = > symlink.check(X:\install\x86, 0x289888) (0x404022) > 839 2516614 [main] perl 2604 path_conv::check: this->path(X:\install\x86), > has_acls(1) > 828 2517442 [main] perl 2604 build_fh_pc: fh 0x612DD5A0, dev 000000C3 > 816 2518258 [main] perl 2604 stat_worker: (\??\X:\install\x86, 0x800390D0, > 0x612DD5A0), file_attributes 16 > 1603 2519861 [main] perl 2604 cygpsid::debug_print: get_sids_info: owner > SID = S-1-5-21-2052111302-842925246-682003330-75441 > 818 2520679 [main] perl 2604 cygpsid::debug_print: get_sids_info: group > SID = S-1-5-21-2052111302-842925246-682003330-513 > 818 2521497 [main] perl 2604 get_info_from_sd: ACL 0x4000, uid 75441, gid > 10513 > 875 2522372 [main] perl 2604 fhandler_base::fstat_helper: 0 = fstat > (\??\X:\install\x86, 0x800390D0) st_size=0, st_mode=0x4000, > st_ino=-197262732544 ^^^^^^^^^^^^^^ This is the important snippet, but I don't see how this could have been different before my patches. The mode is S_IFDIR and 000 permissions.
That usually means: - The owner of the file, here S-1-5-21-2052111302-842925246-682003330-75441, has no ACCESS_ALLOWED_ACE in the ACL, or the owner has no FILE_READ_DATA, FILE_WRITE_DATA, and FILE_EXECUTE permissions on the file. - The group of the file, here S-1-5-21-2052111302-842925246-682003330-513 (Domain Users, apparently) has no ACCESS_ALLOWED_ACE in the ACL, or the owner has no FILE_READ_DATA, FILE_WRITE_DATA, and FILE_EXECUTE permissions on the file. - The Everyone group S-1-1-0 has no ACCESS_ALLOWED_ACE in the ACL, or the owner has no FILE_READ_DATA, FILE_WRITE_DATA, and FILE_EXECUTE permissions on the file. This stuff is entirely independent of the new passwd/group code, unless the owner and group are Samba Unix Users/Groups (S-1-22-[...]), in which case I made some changes in this area on 2014-02-27. The uid and gid values point to the fact that you're still using a passwd and group file. How are your /etc/nsswitch.conf settings and does switching to db-only make a difference? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpR80Nt_qPWl.pgp
Description: PGP signature