BSD 4_4_Lite2 development
[unix-history] / usr / share / man / cat1 / chmod.0
CHMOD(1) BSD Reference Manual CHMOD(1)
N\bNA\bAM\bME\bE
c\bch\bhm\bmo\bod\bd - change file modes
S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
c\bch\bhm\bmo\bod\bd [-\b-R\bR [-\b-H\bH | -\b-L\bL | -\b-P\bP]] _\bm_\bo_\bd_\be _\bf_\bi_\bl_\be _\b._\b._\b.
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
The c\bch\bhm\bmo\bod\bd utility modifies the file mode bits of the listed files as
specified by the _\bm_\bo_\bd_\be operand.
The options are as follows:
-\b-H\bH If the -\b-R\bR option is specified, symbolic links on the command line
are followed. (Symbolic links encountered in the tree traversal
are not followed.)
-\b-L\bL If the -\b-R\bR option is specified, all symbolic links are followed.
-\b-P\bP If the -\b-R\bR option is specified, no symbolic links are followed.
-\b-R\bR Change the modes of the file hierarchies rooted in the files in-
stead of just the files themselves.
Symbolic links do not have modes, so unless the -\b-H\bH or -\b-L\bL option is set,
c\bch\bhm\bmo\bod\bd on a symbolic link always succeeds and has no effect. The -\b-H\bH, -\b-L\bL
and -\b-P\bP options are ignored unless the -\b-R\bR option is specified. In addi-
tion, these options override each other and the command's actions are de-
termined by the last one specified.
Only the owner of a file or the super-user is permitted to change the
mode of a file.
The c\bch\bhm\bmo\bod\bd utility exits 0 on success, and >0 if an error occurs.
M\bMO\bOD\bDE\bES\bS
Modes may be absolute or symbolic. An absolute mode is an octal number
constructed by _\bo_\br_\b-_\bi_\bn_\bg 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 | u | g | o
The _\bw_\bh_\bo symbols ``u'', ``g'', and ``o'' specify the user, group, and oth-
er parts of the mode bits, respectively. The _\bw_\bh_\bo symbol ``a'' is equiva-
lent to ``ugo''.
The _\bp_\be_\br_\bm 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 _\bp_\be_\br_\bm symbol ``X'' are only
meaningful in conjunction with the _\bo_\bp symbol ``+'', and are
ignored in all other cases.
u The user permission bits in the mode of the original file.
g The group permission bits in the mode of the original file.
o The other permission bits in the mode of the original file.
The _\bo_\bp symbols represent the operation performed, as follows:
+ If no value is supplied for _\bp_\be_\br_\bm, the ``+'' operation has no ef-
fect. If no value is supplied for _\bw_\bh_\bo, each permission bit speci-
fied in _\bp_\be_\br_\bm, for which the corresponding bit in the file mode cre-
ation mask is clear, is set. Otherwise, the mode bits represented
by the specified _\bw_\bh_\bo and _\bp_\be_\br_\bm values are set.
- If no value is supplied for _\bp_\be_\br_\bm, the ``-'' operation has no ef-
fect. If no value is supplied for _\bw_\bh_\bo, each permission bit speci-
fied in _\bp_\be_\br_\bm, for which the corresponding bit in the file mode cre-
ation mask is clear, is cleared. Otherwise, the mode bits repre-
sented by the specified _\bw_\bh_\bo and _\bp_\be_\br_\bm values are cleared.
= The mode bits specified by the _\bw_\bh_\bo 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 _\bw_\bh_\bo, each permission
bit specified in _\bp_\be_\br_\bm, for which the corresponding bit in the file
mode creation mask is clear, is set. Otherwise, the mode bits rep-
resented by the specified _\bw_\bh_\bo and _\bp_\be_\br_\bm values are set.
Each _\bc_\bl_\ba_\bu_\bs_\be 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 _\bp_\be_\br_\bm symbols ``s'' or ``t'', are ig-
nored.
E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
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 writable 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.
B\bBU\bUG\bGS\bS
There's no _\bp_\be_\br_\bm option for the naughty bits.
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
install(1), chmod(2), stat(2), umask(2), fts(3), setmode(3),
symlink(7), chown(8)
S\bST\bTA\bAN\bND\bDA\bAR\bRD\bDS\bS
The c\bch\bhm\bmo\bod\bd utility is expected to be POSIX 1003.2 compatible with the ex-
ception of the _\bp_\be_\br_\bm symbols ``t'' and ``X'' which are not included in
that standard.
4.4BSD March 31, 1994 3