coreutils-9.0-1: chmod -R silently returns failure if dir contains a symlink (regression)

Christian Franke Christian.Franke@t-online.de
Sun Feb 9 15:01:10 GMT 2025


Testcase:

$ uname -r
3.5.7-1.x86_64

$ cygcheck -f /bin/chmod
coreutils-9.0-1

$ mkdir dir

$ touch dir/file

$ chmod -R -v g-w dir; echo $?
mode of 'dir' retained as 0755 (rwxr-xr-x)
mode of 'dir/file' retained as 0644 (rw-r--r--)
0

$ ln -s file dir/link

$ chmod -R -v g-w dir; echo $?
mode of 'dir' retained as 0755 (rwxr-xr-x)
mode of 'dir/file' retained as 0644 (rw-r--r--)
neither symbolic link 'dir/link' nor referent has been changed
1

$ chmod -R g-w dir; echo $?
1

$ chmod -v g-w dir dir/file dir/link; echo $?
mode of 'dir' retained as 0755 (rwxr-xr-x)
mode of 'dir/file' retained as 0644 (rw-r--r--)
mode of 'dir/link' retained as 0644 (rw-r--r--)
0

$ chmod -R -v g+w dir; echo $?
mode of 'dir' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
mode of 'dir/file' changed from 0644 (rw-r--r--) to 0664 (rw-rw-r--)
neither symbolic link 'dir/link' nor referent has been changed
1

$ chmod -R g-w dir; echo $?
1

Exit status 1 does not occur with chmod from coreutils 8.32-1.

-- 
Regards,
Christian



More information about the Cygwin mailing list