This manual page
documents the GNU version of
chmod changes the file mode bits of each given file according to
mode, which can be either a symbolic representation of changes to make, or
an octal number representing the bit pattern for the new mode bits.
The format of a symbolic mode is [
perms is either zero or more letters from the set
rwxXst, or a single letter from the set ugo.
modes can be given, separated by commas.
A combination of the letters ugoa controls which users access
to the file will be changed: the user who owns it (u), other
users in the files group (g), other users not in the files
group (o), or all users (a). If none of these are given,
the effect is as if (a) were
given, but bits that are set in the umask are not affected.
The operator + causes the selected file mode bits to be added to
the existing file mode bits of each file; - causes them to be
removed; and = causes them to be added and causes unmentioned
bits to be removed except that a directorys unmentioned set user and
group ID bits are not affected.
The letters rwxXst select file mode bits for the affected users:
read (r), write (w), execute (or search for directories)
(x), execute/search only if the file is a directory or already
has execute permission for some user (X), set user or group ID
on execution (s), restricted deletion flag or sticky bit
(t). Instead of one or more of these letters, you can specify
exactly one of the letters ugo: the permissions granted to the
user who owns the file (u), the permissions granted to other
users who are members of the files group (g),
and the permissions granted to users that are in neither of the two preceding
A numeric mode is from one to four octal digits (0-7), derived by
adding up the bits with values 4, 2, and 1. Omitted digits are
assumed to be leading zeros.
The first digit selects the set user ID (4) and set group ID (2) and
restricted deletion or sticky (1) attributes. The second digit
selects permissions for the user who owns the file: read (4), write (2),
and execute (1); the third selects permissions for other users in the
files group, with the same values; and the fourth for other users not
in the files group, with the same values.
chmod never changes the permissions of symbolic links; the
chmod system call cannot change their permissions. This is not a problem
since the permissions of symbolic links are never used.
However, for each symbolic link listed on the command line,
chmod changes the permissions of the pointed-to file.
chmod ignores symbolic links encountered during recursive directory