/usr/bin/setfacl is broken in 3.7.0-0.127.g2029784e05d9

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Mon Jun 16 20:57:44 GMT 2025


On 2025年06月16日 03:17, Lionel Cons via Cygwin wrote:
> On 2025年6月13日 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?
> P.S.: Testing /usr/bin/setfacl.exe is not part of the CI, right?
Apparently not yet for cygwin ;^>
-- 
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
 -- Antoine de Saint-Exupéry


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /