coreutils: Numeric Modes

 
 26.3 Numeric Modes
 ==================
 
 As an alternative to giving a symbolic mode, you can give an octal (base
 8) number that represents the mode.  This number is 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.  SeeDirectory Setuid
 and Setgid.)
 
    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.  SeeDirectory Setuid and Setgid.  Also,
 operator numeric modes can take previous file mode bits into account.
 SeeOperator Numeric Modes.
 
    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, which are represented as one octal digit.  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 lowest valued bit:
 
      Value in  Corresponding
      Mode      Mode Bit
 
                Other users not in the file's group:
         1      Execute/search
         2      Write
         4      Read
 
                Other users in the file's group:
        10      Execute/search
        20      Write
        40      Read
 
                The file's owner:
       100      Execute/search
       200      Write
       400      Read
 
                Special mode bits:
      1000      Restricted deletion flag or sticky bit
      2000      Set group ID on execution
      4000      Set user ID on execution
 
    For example, numeric mode ‘4755’ corresponds to symbolic mode
 ‘u=rwxs,go=rx’, and numeric mode ‘664’ corresponds to symbolic mode
 ‘ug=rw,o=r’.  Numeric mode ‘0’ corresponds to symbolic mode ‘a=’.