From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; FreeBSD 4.2-STABLE i386)
chmod does not fail when it cant set group permissions properly.
Steps to Reproduce:
1.as root: touch testfile; chown nonrootuser:root file
2.as nonrootuser: chmod 2777 file
3. notice how chmod does not fail, and how it returns 0, yet it failed
Actual Results: every time, it works
Expected Results: for chmod to report an error, at least in its return
in bsd this orks properly
The chmod() system call returns 0 under those conditions, so the real fix
should be in the kernel.
FreeBSD doesn't change the permissions on the file at all when it gets the
chmod() system call and returns EPERM, we currently change the permissions to
0777 (stripping off setgid) and return 0.
What does POSIX say?
Alan: reason this is a bug ?
In order to ensure that the S_ISUID and S_ISGID bits are set, an
application requiring this should use stat() after a successful
chmod() to verify this.
so the chmod(1) program should do a stat(2) on a file after doing chmod(2).
Fixed in 4.1.9-10