On Mon, 16 Jun 2025 at 22:57, Brian Inglis via Cygwin <cygwin@cygwin.com> wrote:
>
> On 2025-06-16 03:17, Lionel Cons via Cygwin wrote:
> > On Fri, 13 Jun 2025 at 21:52, Brian Inglis via Cygwin <cygwin@cygwin.com> 
> > wrote:
> >>
> >> On 2025-06-13 06:09, Lionel Cons via Cygwin wrote:
> >>> /usr/bin/setfacl is broken in 3.7.0-0.127.g2029784e05d9
> >>>
> >>> my testcase:
> >>> lionel$ uname -a
> >>> CYGWIN_NT-10.0-19045 halcyonrenard17 3.7.0-0.127.g2029784e05d9.x86_64
> >>> 2025-06-10 12:15 UTC x86_64 Cygwin
> >>> lionel$ mkdir nfstmp1
> >>> ionel$ setfacl -m g::rwx nfstmp1
> >>> setfacl: Permission denied
> >>> ionel$ setfacl -m g:None:rwx nfstmp1
> >>> setfacl: Permission denied
> >>>
> >>> This was working in Cygwin 3.5
> >>
> >> No changes have been made to the utility for five years,
> >
> > Are you sure? Isn't this tool part of coreutils?
>
> $ cygcheck -f /usr/bin/{g,s}etfacl
> cygwin-3.6.1-1
> cygwin-3.6.1-1
>
> Apparently mainly based on:
>
>         https://man.freebsd.org/cgi/man.cgi?query=setfacl&sektion=1
>
>         http://www.trustedbsd.org/acls.html
>
> also Linux uses:
>
>         https://man7.org/linux/man-pages/man1/setfacl.1.html
>
>         http://savannah.nongnu.org/projects/acl
>
>         http://savannah.nongnu.org/bugs/?group=acl
>
>         "ACL File Utilities"
>
> as we have had discussions about man pages missing from the man-pages-linux
> packages and sources for alternates we could provide, and whether that would 
> be
> desirable and adequate.
>
> >> but a lot of changes
> >> have been made to the DLL since 3.5.
> >>
> >> Could you please install current stable cygwin 3.6.3, retest and report,
> >
> > lionel$ uname -a
> > CYGWIN_NT-10.0-19045 halcyonrenard17 3.6.3-1.x86_64 2025-06-05 11:45
> > UTC x86_64 Cygwin
> > lionel$ setfacl --version
> > setfacl (cygwin) 3.6.3
> > POSIX ACL modification utility
> > Copyright (C) 2000 - 2025 Cygwin Authors
> > This is free software; see the source for copying conditions.  There is NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> >
> > ## testing with a file:
> > lionel$ rm -f myfile && touch myfile && setfacl -m g::rwx myfile
> > # works
> >
> > ## testing with a dir:
> > lionel$ rm -Rf mydir && mkdir mydir && setfacl -m g::rwx mydir
> > setfacl: Permission denied
> >
> > So in Cygwin 3.6.3 setfacl for files works, but not for dirs
>
> Thanks for doing that.
>
> One thing we have to watch for is to ensure that DACLs (Default ACLs) are set 
> on
> directories so files and subdirectories are accessible, for example:
>
>         dacl=d:u::rwx,d:g::r-x,d:o::r-x
>         ...
>         setfacl -m$dacl $dir
>
> although you would normally also set regular ACLs at the same time to be sure.
>
> So your directory ACLs depend on its parent's DACLs, but there is still an 
> issue
> there.
>
> I too get:
>
>         $ setfacl -m g::rwx test
>         setfacl: Permission denied
>
> but:
>
>         $ chmod -c g+rwx test           # works
>         mode of 'test' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
>         $ setfacl -m g::rwx test        # works but changes nothing
> >> to try
> >> and narrow down the issue occurrence to changes in major version 3.6 or 
> >> 3.7, or
> >> better to minor versions if you have the space and time?
> >
> > How can I install each Cygwin minor version (not just the Cygwin
> > *.dll, I mean EVERYTHING including dependencies)?
>
> Maybe just cygwin (DLL and utilities) package 3.5.7 and 3.6.0 if you have 
> time?

Cygwin 3.3 /usr/bin/setfacl.exe works with both dirs and files. Cygwin
3.5.7 I can only test when I am back in my office next week :(

@Corinna Vinschen Could you have a look at this issue, please?

Lionel

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to