access X_OK for administrators has changed in cygwin 3.5.5
Takashi Yano
takashi.yano@nifty.ne.jp
Wed Dec 25 14:08:34 GMT 2024
On Wed, 25 Dec 2024 01:29:47 +0100
Bruno Haible wrote:
> Hi,
>
> The behaviour of the access(_, X_OK) call has changed for administrator
> users in Cygwin 3.5.5. I don't know whether that's intended or not
> (haven't seen it mentioned in
> <https://sourceware.org/pipermail/cygwin-announce/2024-December/012023.html>).
>
> How to reproduce:
> ========================== foo.c ===========================
> #include <stdio.h>
> #include <fcntl.h>
> #include <string.h>
> #include <grp.h>
> #include <unistd.h>
> int main ()
> {
> close (creat ("file", 0600));
> chmod ("file", 0400);
> printf ("file X_OK ? %d\n", access ("file", X_OK));
> }
> ============================================================
> 1. In a normal Cygwin console (mintty):
> $ rm -f file
> $ gcc -Wall foo.c
> $ ./a
> => file X_OK ? -1
> 2. In a Cygwin console that runs "as administrator":
> $ ./a
> => In Cygwin 3.4.6: file X_OK ? -1
> In Cygwin 3.5.5: file X_OK ? 0
Thanks for the report.
It is natural that the previleged account such as Administrator
and root (linux) have a full permission even with mode 400.
However, x permission should not be asserted for mode 400
even for Administrator/root, while it should enabled for
mode 500, 410, 401 etc.
Let me consider how to fix that.
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin
mailing list