This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: chmod suddenly ceased to work on old files - NEW FINDINGS
- From: "Pierre A. Humblet" <Pierre dot Humblet at ieee dot org>
- To: <cygwin-developers at cygwin dot com>
- Date: Mon, 01 Aug 2005 09:40:17 -0400
- Subject: Re: chmod suddenly ceased to work on old files - NEW FINDINGS
- References: <0f7d01c58893$215d2650$3e0010ac@wirelessworld.airvananet.com><20050801122246.GA15183@calimero.vinschen.de>
- Reply-to: "Pierre A. Humblet" <Pierre dot Humblet at ieee dot org>
----- Original Message -----
From: "Corinna Vinschen" <corinna-cygwin@cygwin.com>
To: <cygwin-developers@cygwin.com>
Sent: Monday, August 01, 2005 8:22 AM
Subject: Re: chmod suddenly ceased to work on old files - NEW FINDINGS
> On Jul 14 12:43, Pierre A. Humblet wrote:
> > Corinna (and everybody),
> >
> > I looked into the problem reported in the thread.
> > http://cygwin.com/ml/cygwin/2005-07/msg00689.html
> >
> > The failure of chmod is a permission issue, due to a strange ACL
> > inherited from Windows. However I can't explain the failure.
> >
> > 853 315868 [main] chmod 2108 normalize_posix_path: src tg.pl
> > 833 316701 [main] chmod 2108 cwdstuff::get: posix /cygdrive/h/tmp
> > 919 317620 [main] chmod 2108 cwdstuff::get: (/cygdrive/h/tmp) = cwdstuff::get (0x22EAD0, 260, 1, 0), errno 0
> > 833 318453 [main] chmod 2108 normalize_posix_path: /cygdrive/h/tmp/tg.pl = normalize_posix_path (tg.pl)
> > 855 319308 [main] chmod 2108 mount_info::conv_to_win32_path: conv_to_win32_path (/cygdrive/h/tmp/tg.pl)
> > 851 320159 [main] chmod 2108 mount_info::cygdrive_win32_path: src '/cygdrive/h/tmp/tg.pl', dst 'h:\tmp\tg.pl'
> > 833 320992 [main] chmod 2108 set_flags: flags: binary (0x2)
> > 829 321821 [main] chmod 2108 mount_info::conv_to_win32_path: src_path /cygdrive/h/tmp/tg.pl, dst h:\tmp\tg.pl,
flags
> > 0x22, rc 0
> > 1473 323294 [main] chmod 2108 symlink_info::check: not a symlink
> > 949 324243 [main] chmod 2108 symlink_info::check: 0 = symlink.check (h:\tmp\tg.pl, 0x22E790) (0x22)
> > 844 325087 [main] chmod 2108 path_conv::check: this->path(h:\tmp\tg.pl), has_acls(1)
> > 1039 326126 [main] chmod 2108 build_fh_pc: fh 0x61156018
> > 857 326983 [main] chmod 2108 fhandler_base::open: (h:\tmp\tg.pl, 0x110000)
> > 1647 328630 [main] chmod 2108 seterrno_from_win_error: /netrel/src/cygwin-1.5.18-1/winsup/cygwin/fhandler.cc:666
> > windows error 5
> > 1109 329739 [main] chmod 2108 geterrno_from_win_error: windows error 5 == errno 13
> > 819 330558 [main] chmod 2108 __set_errno: void seterrno_from_win_error(const char*, int, DWORD):307 val 13
> > 814 331372 [main] chmod 2108 fhandler_base::open: C0000022 = NtCreateFile (0x0, E0100, h:\tmp\tg.pl, io, NULL, 0,
7,
> > 1, 4400, NULL, 0)
> > 1090 332462 [main] chmod 2108 fhandler_base::open: 0 = fhandler_base::open (h:\tmp\tg.pl, 0x110000)
> > 923 333385 [main] chmod 2108 fhandler_base::open_fs: 0 = fhandler_disk_file::open (h:\tmp\tg.pl, 0x10000)
> > 1110 334495 [main] chmod 2108 chmod: -1 = chmod (tg.pl, 0x1B0)
> >
> > ~/tmp $ cacls tg.pl
> > h:\tmp\tg.pl EU\fischron:C
> > EU\MUC-ADM-FileOperators-Home-L:C
> > VORDEFINIERT\Administrators:F
> > EU\MUC-ADM-FileOperators-L:F
> >
> > See also Capture-1.jpg in http://cygwin.com/ml/cygwin/2005-07/msg00688.html
>
> I can't explain it even less. Did you reproduce the problem? I just
> tried it by creating a file with only one ACE, which has the two bits
> for "change permissions" and "take ownership" removed. But when calling
> chmod on the file, it works as expected. I've also tried the same with
> a parent directory with only the minimum nuber of entries and with the
> above bits removed in the "CREATOR OWNER" entry (well, you never know...).
> To no avail. chmod doesn't complain.
There was a further e-mail from which came out the fact that it's a network drive.
So that makes understanding what's going on harder.
Still he was able to change his own permissions using the Windows GUI,
which is equivalent to a chmod, AFAIK.
Strange.
Pierre