Testers needed: New passwd/group handling in Cygwin
Corinna Vinschen
corinna-cygwin@cygwin.com
Mon Mar 10 18:29:00 GMT 2014
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20140310/5557d32d/attachment.sig>
More information about the Cygwin
mailing list