noacl no longer effective under /cygdrive. Still works in other locations

Andrey Repin anrdaemon@yandex.ru
Sun Jul 21 21:01:02 GMT 2024


Greetings, ilya Basin!

> For several years I had this in my /etc/fstab.d/$USER

>     C: /cygdrive/c none binary,noacl,posix=0,user 0 0

Unless you have a global /cygdrive override set to noacl as well, I have my
reservation about configuration.

> I switched from Cygwin x86 to x64 recently and I noticed that even if
> `mount` prints this:

>     $ mount | grep C:
>     C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
>     C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
>     C:/cygwin64 on / type ntfs (binary,auto)
>     C: on /cygdrive/c type ntfs (binary,noacl,posix=0,user)

> noacl seems to be ineffective:

>     basin@basin /cygdrive/c/63/c
>     $ rm -f aaa bbb; touch aaa; cmd /c "echo.>bbb"

>     basin@basin /cygdrive/c/63/c
>     $ cacls bbb
>     C:\63\c\bbb BUILTIN\:(ID)F
>                 NT AUTHORITY\:(ID)F
>                 BUILTIN\:(ID)R
>                 NT AUTHORITY\ :(ID)C

>     $ cacls aaa
>     C:\63\c\aaa NULL SID:(DENY)(special access:)
>                          READ_CONTROL
>                          FILE_WRITE_EA
>                          FILE_EXECUTE
>                          FILE_DELETE_CHILD
>     ...

> There's no suspicious $CYG* env var. I also tried to kill all cygwin
> processes and umount everything manually. I don't see what's wrong.

> Had to change the parent mount point to /cygnoacl in /etc/fstab.d/$USER and
> from there it works.

Just set /cygdrive to noacl. In my experience, this is a safer choice for
cross-system interaction.


-- 
With best regards,
Andrey Repin
Sunday, July 21, 2024 23:59:06

Sorry for my terrible english...



More information about the Cygwin mailing list