manpagez: man pages & more
info coreutils
Home | html | info | man

File: coreutils.info,  Node: Numeric Modes,  Next: Operator Numeric Modes,  Prev: Symbolic Modes,  Up: File permissions

27.3 Numeric Modes
==================

As an alternative to giving a symbolic mode, you can give an octal (base
8) number that represents the mode.

   The permissions granted to the user, to other users in the file’s
group, and to other users not in the file’s group each require three
bits: one bit for read, one for write, and one for execute/search
permission.  These three bits are represented as one octal digit; for
example, if all three are present, the resulting 111 (in binary) is
represented as the digit 7 (in octal).  The three special mode bits also
require one bit each, and they are as a group represented as another
octal digit.  Here is how the bits are arranged, starting with the
highest valued bit:

     Value in  Corresponding
     Mode      Mode Bit

               Special mode bits:
     4000      Set user ID
     2000      Set group ID
     1000      Restricted deletion flag or sticky bit

               The file's owner:
      400      Read
      200      Write
      100      Execute/search

               Other users in the file's group:
       40      Read
       20      Write
       10      Execute/search

               Other users not in the file's group:
        4      Read
        2      Write
        1      Execute/search

   For example, numeric mode ‘4751’ corresponds to symbolic mode
‘u=srwx,g=rx,o=x’, and numeric mode ‘664’ corresponds to symbolic mode
‘ug=rw,o=r’.  Numeric mode ‘0’ corresponds to symbolic mode ‘a=’.

   A numeric mode is usually shorter than the corresponding symbolic
mode, but it is limited in that normally it cannot take into account the
previous file mode bits; it can only set them absolutely.  The
set-user-ID and set-group-ID bits of directories are an exception to
this general limitation.  *Note Directory Setuid and Setgid::.  Also,
operator numeric modes can take previous file mode bits into account.
*Note Operator Numeric Modes::.

   Numeric modes are always interpreted in octal; you do not have to add
a leading ‘0’, as you do in C.  Mode ‘0055’ is the same as mode ‘55’.
However, modes of five digits or more, such as ‘00055’, are sometimes
special (*note Directory Setuid and Setgid::).

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.