4.4BSD/usr/share/man/cat1/chmod.0

Compare this file to the similar file:
Show the results in this format:

CHMOD(1)                     BSD Reference Manual                     CHMOD(1)

NNAAMMEE
     cchhmmoodd - change file modes

SSYYNNOOPPSSIISS
     cchhmmoodd [--HHRRhh] _m_o_d_e _f_i_l_e _._._.

DDEESSCCRRIIPPTTIIOONN
     The cchhmmoodd utility modifies the file mode bits of the listed files as
     specified by the _m_o_d_e operand.

     The options are as follows:

     --HH      When encountering a symbolic link on the command line, follow it.
             All other symbolic links encountered in the traversal are not
             followed.

     --RR      Traverse a file hierarchy.  For each file that is of type direc-
             tory, cchhmmoodd changes the mode of all files in the file hierarchy
             below it followed by the mode of the directory itself.

     --hh      When encountering a symbolic link anywhere in the traversal, fol-
             low it.

     The mode of a symbolic link is immutable, so unless the --hh or --HH flag is
     set, cchhmmoodd on a symbolic link is a no-op.

     Only the owner of a file or the super-user is permitted to change the
     mode of a file.

     The cchhmmoodd utility exits 0 on success, and >0 if an error occurs.

MMOODDEESS
     Modes may be absolute or symbolic.  An absolute mode is an octal number
     constructed by _o_r_-_i_n_g the following values:

           4000    set-user-ID-on-execution
           2000    set-group-ID-on-execution
           1000    sticky bit, see chmod(2)
           0400    read by owner
           0200    write by owner
           0100    execute (or search for directories) by owner
           0070    read, write, execute/search by group
           0007    read, write, execute/search by others

     The read, write, and execute/search values for group and others are en-
     coded as described for owner.

     The symbolic mode is described by the following grammar:

           mode         ::= clause [, clause ...]
           clause       ::= [who ...] [action ...] last_action
           action       ::= op [perm ...]
           last_action  ::= op [perm ...]
           who          ::= a | u | g | o
           op           ::= + | - | =
           perm         ::= r | s | t | w | x | X

     The _w_h_o symbols ``u'', ``g'', and ``o'' specify the user, group, and oth-
     er parts of the mode bits, respectively.  The _w_h_o symbol ``a'' is equiva-
     lent to ``ugo''.



     The _p_e_r_m symbols represent the portions of the mode bits as follows:

           r       The read bits.
           s       The set-user-ID-on-execution and set-group-ID-on-execution
                   bits.
           t       The sticky bit.
           w       The write bits.
           x       The execute/search bits.
           X       The execute/search bits if the file is a directory or any
                   of the execute/search bits are set in the original (unmodi-
                   fied) mode.  Operations with the _p_e_r_m symbol ``X'' are only
                   meaningful in conjunction with the _o_p symbol ``+'', and are
                   ignored in all other cases.

     The _o_p symbols represent the operation performed, as follows:

     +     If no value is supplied for _p_e_r_m, the ``+'' operation has no ef-
           fect.  If no value is supplied for _w_h_o, each permission bit speci-
           fied in _p_e_r_m, for which the corresponding bit in the file mode cre-
           ation mask is clear, is set.  Otherwise, the mode bits represented
           by the specified _w_h_o and _p_e_r_m values are set.

     -     If no value is supplied for _p_e_r_m, the ``-'' operation has no ef-
           fect.  If no value is supplied for _w_h_o, the mode bits represented
           by _p_e_r_m are cleared for the owner, group and other permissions.
           Otherwise, the mode bits represented by the specified _w_h_o and _p_e_r_m
           values are cleared.

     =     The mode bits specified by the _w_h_o value are cleared, or, if no who
           value is specified, the owner, group and other mode bits are
           cleared.  Then, if no value is supplied for _w_h_o, each permission
           bit specified in _p_e_r_m, for which the corresponding bit in the file
           mode creation mask is clear, is set.  Otherwise, the mode bits rep-
           resented by the specified _w_h_o and _p_e_r_m values are set.

     Each _c_l_a_u_s_e specifies one or more operations to be performed on the mode
     bits, and each operation is applied to the mode bits in the order speci-
     fied.

     Operations upon the other permissions only (specified by the symbol ``o''
     by itself), in combination with the _p_e_r_m symbols ``s'' or ``t'', are ig-
     nored.

EEXXAAMMPPLLEESS
     644           make a file readable by anyone and writable by the owner
                   only.

     go-w          deny write permission to group and others.

     =rw,+X        set the read and write permissions to the usual defaults,
                   but retain any execute permissions that are currently set.

     +X            make a directory or file searchable/executable by everyone
                   if it is already searchable/executable by anyone.

     755
     u=rwx,go=rx
     u=rwx,go=u-w  make a file readable/executable by everyone and writeable
                   by the owner only.

     go=           clear all mode bits for group and others.

     g=u-w         set the group bits equal to the user bits, but clear the
                   group write bit.

BBUUGGSS
     There's no _p_e_r_m option for the naughty bits.

SSEEEE AALLSSOO
     install(1),  chmod(2),  stat(2),  umask(2),  fts(3),  setmode(3),
     symlink(7),  chown(8)

SSTTAANNDDAARRDDSS
     The cchhmmoodd utility is expected to be POSIX 1003.2 compatible with the ex-
     ception of the _p_e_r_m symbols ``t'' and ``X'' which are not included in
     that standard.

4.4BSD                           June 29, 1993                               3