GNU bug report logs - #29390
chmod man page - clear setuid/setgid with numerical value

Previous Next

Package: coreutils;

Reported by: Oliver Isaac <oisaac <at> gmail.com>

Date: Wed, 22 Nov 2017 03:01:01 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Pádraig Brady <P <at> draigBrady.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#29390: closed (chmod man page - clear setuid/setgid with
 numerical value )
Date: Sun, 10 Dec 2017 02:34:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 9 Dec 2017 18:32:53 -0800
with message-id <bbb8b736-aa09-c4b4-c78b-567d1ce68b71 <at> draigBrady.com>
and subject line Re: bug#29390: chmod man page - clear setuid/setgid with numerical value
has caused the debbugs.gnu.org bug report #29390,
regarding chmod man page - clear setuid/setgid with numerical value 
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
29390: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29390
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Oliver Isaac <oisaac <at> gmail.com>
To: bug-coreutils <at> gnu.org
Subject: chmod man page - clear setuid/setgid with numerical value 
Date: Tue, 21 Nov 2017 20:46:33 -0600
Hello,

There is an incorrect assertion made in the chmod man page:

Under the setuid/setgid header it says, "you can set (but not clear) the bits with a numeric mode"

This is not entirely true. If you prefix your numeric mode with a 0 then it will work:

e.g.:

touch myfile
chmod 644 myfile
ls -l myfile
chmod g+s myfile
Is -l myfile
chmod 00644 myfile
is -l myfile


This simple test shows that you can clear the uid/gid bits with numeric mode which is especially useful in scripts.

An update to the man page to clarify this would be helpful. 

Thanks,
Oliver

[Message part 3 (message/rfc822, inline)]
From: Pádraig Brady <P <at> draigBrady.com>
To: Oliver Isaac <oisaac <at> gmail.com>, 29390-done <at> debbugs.gnu.org
Subject: Re: bug#29390: chmod man page - clear setuid/setgid with numerical
 value
Date: Sat, 9 Dec 2017 18:32:53 -0800
[Message part 4 (text/plain, inline)]
On 21/11/17 18:46, Oliver Isaac wrote:
> Hello,
> 
> There is an incorrect assertion made in the chmod man page:
> 
> Under the setuid/setgid header it says, "you can set (but not clear) the bits with a numeric mode"
> 
> This is not entirely true. If you prefix your numeric mode with a 0 then it will work:
> 
> e.g.:
> 
> touch myfile
> chmod 644 myfile
> ls -l myfile
> chmod g+s myfile
> Is -l myfile
> chmod 00644 myfile
> is -l myfile
> 
> 
> This simple test shows that you can clear the uid/gid bits with numeric mode which is especially useful in scripts.
> 
> An update to the man page to clarify this would be helpful. 

Yes we should update the man page to be consistent.

The current text was added in COREUTILS-6_9-89-gf4a5097
It was correct at the time, but slightly ambiguous as it
might be missed that the paragraph pertains only to directories,
and not files.

Then http://debbugs.gnu.org/8391 (v8.15-64-g8931cdb) changed things
to allow leading 00 to clear the setuid and setgid bits
of _directories_ with numeric modes.  BTW I notice solaris
accepts 00755 as a mode but does _not_ clear these bits
for directories.

I.E. the most portable and simplest way to access this functionality
is to use `chmod -s dir`

Proposed patch attached.

cheers,
Pádraig
[chmod-setgid-man.patch (text/x-patch, attachment)]

This bug report was last modified 7 years and 244 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.