Umask question

Dan Track dan.track at gmail.com
Wed Jan 17 16:58:32 UTC 2007


On 1/17/07, Sjoerd Mullender <sjoerd at acm.org> wrote:
> On 2007-01-17 17:06, Aaron Konstam wrote:
> > On Wed, 2007-01-17 at 10:04 -0600, Aaron Konstam wrote:
> >> On Wed, 2007-01-17 at 08:10 -0600, Styma, Robert E (Robert) wrote:
> >>>  > Hi
> >>>> if I issue the ommand umask I get a value of 0022. I thought umask
> >>>> values were 022, what's the extra digit for?
> >>>>
> >>>> Thanks
> >>>> Dan
> >>> By convention, octal numbers have a leading zero.  This is a
> >>> carry over from the C programming language.
> >>>
> >>> Bob
> >>>
> >> I am not sure that is true. There is a forth (the first on in the
> >> output) that refers to SUID, GUID and stcky bit,
> > I should try my answer before I shoot off my mouth. It looks like umask
> > cannor set that fourth digit, so I guess I am wrong.
>
> There are 9 permission bits that are relevant to umask in 3 groups of 3:
> user, group, other, and for each of those, read, write, execute.  By
> displaying the permissions in octal, you get one digit for each of those
> groups.  Hence it is useful for umask to display three octal digits to
> display the complete mask.  Note that ordinarily the first of those
> three digits is 0, since you typically don't want the user (owner of the
> file)'s permissions to be curtailed by the umask.
>
> The fourth (or rather, first) digit is always 0 since in C a leading 0
> in a number indicates that the number is given in octal (just like a
> leading 0x indicates that the number is in hexadecimal).
>
> So we arrive at four digits, the first two of which are 0: leading zero
> to indicate octal number, zero to indicate no permissions removed for
> user, and then the two 2s to indicate that write permission is to be
> removed for other members of the group and everyone else in the world.
>
> I hope this makes things clear.
>
>
> --
> Sjoerd Mullender

Hi All

Many thanks for your replies. Its a lot clearer now.

Regards
Dan




More information about the users mailing list