Table of Contents
Introduction
The multi-user capability of Unix-like systems is a feature that is deeply ingrained into the design of the operating system.
File Permissions
On a Linux system, each file and directory is assigned access rights for the owner of the file.
You can check the permission settings by using ls -l.
$ ls -l
drwxr-xr-x. 13 root root 1027 Jan 3 12:32 bin/catLet’s explore what drwxr-xr-x. 13 root root 1077 Jan 3 12:32 bin/cat means one by one.
| Command | Meaning |
|---|---|
| d | File Type |
| rwxr-xr-x. | File Mode |
| 13 | Number of links |
| root | The owner of the file |
| root | The group the file belongs to |
| 1027 | Size of the file |
| Jan 3 12:32 | Time Stamp |
| bin/cat | The name of the file/directory |
File Type
| Command | File Type |
|---|---|
| - | File |
| d | Directory |
| l | Symbolic Link |
File Mode
The r letter means the user has permission to read the file/directory. The w letter means the user has permission to write the file/directory. And the x letter means the user has permission to execute the file/directory.
| Command | Meaning |
|---|---|
| r | read |
| w | write |
| x | execute |
| - | not allowed |
Let’s take a look at the 9 letters in the command. The first 3 letters show the permissions for the file owner, the second 3 letters show the permissions for the group owner and the last 3 letters show the permissions for other users.
rwx/ r-x/ r-x/
Owner: rwx
Group: r-x
Users: r-xChange File Modes
The chmod command is used to change the permissions of a file or directory.
Octal Mode
Each permission may be specified with an octal number: read = 4; write = 2; execute = 1; no permission = 0.
| Meaning | Number |
|---|---|
| read(r) | 4 |
| write(w) | 2 |
| execute(x) | 1 |
Example
The command below means giving permissions to read(4), write(2) and execute(1) to the owner and permissions to read(4) and execute(1) to the group user and permissions to read(4) to other users.
chmod 754 myfileSymbolic Mode
The below is the basic syntax of chmod.
% chmod who operator permission filenameYou can use the following commands to change modes.
| Command | Meaning |
|---|---|
| u(user) | user access |
| g(group) | group access |
| o(other) | other access |
| a(all) | user, group, and other access |
| Command | Meaning |
|---|---|
| + | add specified permissions |
| - | remove specified permissions |
| = | set the specified permissions |
Example
In the following example, read permission are taken away from others.
% chmod o-r fileaIn the following example, read and execute permissions are added for user, group, and others.
$ chmod a+rx filebIn the following example, read, write, and execute permissions are assigned to the group.
$ chmod g=rwx filec