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