From: Wei Y. <yj...@cn...> - 2009-06-29 07:34:52
|
Sharyathi Nagesh wrote: > Hi > I am observing this anomaly with these 2 test cases chmod05.c and > fchmod05.c. > These 2 test cases are written to test the POSIX standard which says: > > "If the calling process is not privileged (Linux: does not > have the > CAP_FSETID capability), and the group of the file does not > match the > effective group ID of the process or one of its > supplementary group > IDs, the S_ISGID bit will be turned off, but this will not > cause an > error to be returned." > > > So the test case will try to setup a file in which the GID of the > test/tmp file will be different from the effective group ID of the > running process. But this criterion is found to be not sufficient > condition for the clearing the S_ISGID bit of the file > > ------------------------------------------------------------ > Ex: > There are 2 users nobody (uid=99, gid=99) and bin (uid=1, gid=1) > let as assume temporary file as /tmp/zxcv > > Test will Pass if > Set UID/GID of /tmp/zxcv to nobody->uid & nobody->GID > Set eUID/eGID of process to nobody->uid & bin->GID > > Test will Fail if > Set UID/GID of /tmp/zxcv to nobody->uid & bin->GID > Set eUID/eGID of process to nobody->uid & nobody->GID > > I verified supplementary group IDs for both 'nobody' and 'bin' and > they are mutually exclusive and none of the other is supplementary > group ID of the ID being tested > ------------------------------------------------------------ > > Should we treat this as Test case issue or kernel bug? The different of 'nobody' and 'bin' is bin->GID has the CAP_FSETID capability, but nobody->GID has not, I think. Regards. |