1. User
2. Group
3. Other
File Permissions
1. Read permission
2. Write permission
3. Execute permission
How to view file permissions
$ls -l
$ ls -l
total 17
drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile
d = directory- = regular file
l = symbolic link
s = Unix domain socket
p = named pipe
c = character device file
b = block device file
Set file permissions - symbolic mode
Which user? | |
u | user/owner |
g | group |
o | other |
a | all |
What to do? | |
+ | add this permission |
- | remove this permission |
= | set exactly this permission |
Which permissions? | |
r | read |
w | write |
x | execute |
First, you decide if you set permissions for the user (u), the group (g), others (o), or all of the three (a). Then, you either add a permission (+), remove it (-), or wipe out the previous permissions and add a new one (=). Next, you decide if you set the read permission (r), write permission (w), or execute permission (x). Last, you'll tell
chmod
which file's permissions you want to change.eg.
$ chmod g+x testfile
Add execute permissions for group.Set file permissions - numeric mode
4 = read (r)
2 = write (w)
1 = execute (x)
0 = no permission (-)
$ chmod 755 testfile
equals to:
-rwxr-xr-x
$ chmod 640 testfileequals to: -rw-r-----