4.4BSD/usr/share/man/cat1/chmod.0
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