chmod(1)chmod(1)Namechmod - change file mode
Syntaxchmod [ -fR ] mode file...
Description
Permissions on files are set according to mode and file parameters.
For file, you can specify either a full or partial path. You can spec‐
ify multiple files, separated by spaces.
For mode, you specify one of two variants: absolute mode or symbolic
mode.
Absolute Mode
For mode in absolute form, you specify an octal number constructed from
the sum of one or more of the following values:
4000 set user ID on execution (applies to executable files
only)
2000 set group ID on execution (applies to executable files
only)
1000 set sticky bit (see for more information)
0400 read by owner
0200 write by owner
0100 execute, or search if file is a directory, by owner
0040 read by group
0020 write by group
0010 execute, or search if file is a directory, by group
0004 read by others
0002 write by others
0001 execute, or search if file is a directory, by others
For example, the absolute mode value that provides read, write, and
execute permission to owner, read and execute permission to group, and
read and execute permission to others is 755 (400+200+100+40+10+4+1).
The absolute mode value that provides read, write, and execute permis‐
sion to owner and no permission to group or others is 700
(400+200+100).
Symbolic Mode
To specify mode in symbolic form, use the following format:
[who] op permission [op permission] ... Spaces are included in
the preceding format so that you can read the arguments; how‐
ever, as will be shown in examples that follow, you do not enter
spaces between mode arguments.
Specify who using the letters u (for owner), g (for group) and o (for
others) either alone or in combination. You can also specify the let‐
ter a (for all), which is is equivalent to the letter combination ugo.
If you omit the who parameter, a is assumed. For more information, see
For the op parameter, specify the plus sign (+) to add permission to
the file's mode, the minus sign (-) to remove permission from the
file's mode, or the equal sign (=) to assign permission absolutely
(denying or revoking any permission not explicitly specified following
the equal sign). The first command in the following example provides
group with execute permission for in addition to any other permissions
group currently has for The second command limits the permission that
group has for to execute alone:
chmod g+x filea
chmod g=x fileb
For the permission parameter, specify any combination of the letters r
(read), w (write), x (execute), s (set owner or group id), and t (save
text - sticky). Alternatively, you can specify the letter u, g, or o
to set permission for the who parameter to be the same as the permis‐
sion currently granted to the user category indicated by the letter.
In the following example, the group (g) is given the same permissions
on as currently granted to owner (u):
chmod g=u filea
You can revoke all permissions by specifying the who argument followed
by =, and omitting the permission argument. For example, the following
command removes all permissions from others for
chmod o= fileb
When specifying more than one symbolic mode for file, separate the
modes with commas. The mode changes are applied in the sequence speci‐
fied. In the following example, write permission is added to the per‐
missions already granted to the owner of and group is then granted the
same permissions on as granted the owner:
chmod u+w,g=u filea
Options-f Inhibits display of errors that are returned if fails to change
the mode on a file.
-R Causes to recursively descend any directories subordinate to file
and to set the specified mode for each file encountered. However,
when symbolic links are encountered, does not change the mode of
the link file and does not traverse the path associated with the
link. Note that the option is useful only when file identifies a
directory that is not empty.
Restrictions
The permission letter s is used only with who letter u or g.
Only the owner of a file or someone logged on as superuser may change
the mode of that file.
Examples
Using absolute mode, provide read, write, and search permission to the
owner, and read and search permission to others for a directory named
chmod 755 ~harris/public
Using absolute mode, set the UID for execution to be the UID of of the
file owner rather than the UID of the user running the program as fol‐
lows:
chmod 4000 progrmb
Using symbolic mode, perform the same operation as described for the
preceding example:
chmod u=s progrmb
Using symbolic mode, deny write permission to others for the file
chmod o-w ourspec
Using symbolic mode, give execute permission on file to all user cate‐
gories:
chmod +x myprog
Using symbolic mode, give write permission to all group members, deny
write permission to others, and give search permission to owner on
chmod g+w,o-r,u+x docdir
Using symbolic mode, give read and execute permissions to others for a
directory named and then recursively descend the paths subordinate to
adding the same permissions for others on all files and directories
included in the subordinate paths:
chmod-R o+rx programs
In the preceding example, if were the name of a file rather than a
directory, would change the mode only of the file.
See Alsols(1), chmod(2), stat(2), umask(2), chown(8)chmod(1)