Linux and Unix chmod command

Quick links

About chmod
Syntax
Examples
Additional information
Related commands
Linux and Unix main page

About chmod

Changes the permission of a file.

Syntax

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

-c, --changeslike verbose but report only when a change is made
--no-preserve-rootdo not treat `/' specially (the default)
--preserve-rootfail to operate recursively on `/'
-f, --silent, --quietsuppress most error messages
-v, verboseoutput a diagnostic for every file processed
--reference=RFILEuse RFILE's mode instead of MODE values
-R, --recursivechange files and directories recursively
--helpdisplay this help and exit
--versionoutput version information and exit

Permissions
u - User who owns the file.
g - Group that owns the file.
o - Other.
a - All.
r - Read the file.
w - Write or edit the file.
x - Execute or run the file as a program.

Numeric Permissions:
CHMOD can also to attributed by using Numeric Permissions:

400 read by owner
040 read by group
004 read by anybody (other)
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

Examples

The above numeric permissions can be added to set a certain permission, for example, a common HTML file on a Unix server to be only viewed over the Internet would be:

chmod 644 file.htm

This gives the file read/write by the owner and only read by everyone else (-rw-r--r--).

Files such as scripts that need to be executed need more permissions. Below is another example of a common permission given to scripts.

chmod 755 file.cgi

This would be the following 400+040+004+200+100+010+001 = 755 where you are giving all the rights except the capability for anyone to write to the file.cgi file(-rwxr-xr-x).

chmod 666 file.txt

Finally, another common CHMOD permission is 666, as shown below, which is read and write by everyone.

Additional information

Below is an example of how a file may be listed when typing ( ls -l ) at the prompt as well as information on how to interpret it.

-rw-rw-r-- 1   hope  123   Feb 03 15:36   file.txt

-rwrw-r--1hope123Feb 03 15:36file.txt
Fileownergroupeveryone elselinksownersizemod datefile name

Related commands

chown
getfacl
ls