Bug 35413

Summary: chmod doesnt fail when it cant modify group permissions
Product: [Retired] Red Hat Linux Reporter: lumpy_ <dynamo>
Component: fileutilsAssignee: Bernhard Rosenkraenzer <bero>
Status: CLOSED RAWHIDE QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: bero, dynamo, jarno.huuskonen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: i386   
OS: Linux   
URL: http://www.opengroup.org/onlinepubs/007908799/xcu/chmod.html
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-05-21 20:23:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description lumpy_ 2001-04-10 03:30:51 UTC
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.


Reproducible: Always
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
code

in bsd this orks properly

Comment 1 Bernhard Rosenkraenzer 2001-05-21 18:59:56 UTC
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?



Comment 2 Arjan van de Ven 2001-05-21 20:05:08 UTC
Alan: reason this is a bug ?

Comment 3 Arjan van de Ven 2001-05-21 20:17:22 UTC
SuS says:
 APPLICATION USAGE

      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).


Comment 4 Bernhard Rosenkraenzer 2002-08-29 22:43:47 UTC
Fixed in 4.1.9-10