File & folder
permissions
- u is for user,
- g is for group,
- and o is for others.
- r is for read permission,
- w is for write permission,
- x is for execute permission.
1. Add single permission to a file/directory
Changing permission to a single set. + symbol means adding permission. For example, do the following to give execute permission for the user irrespective of anything else:$ chmod u+x filename
2. Add multiple permission to a file/directory
Use comma to separate the multiple permission sets as shown below.$ chmod u+r,g+x filename
3. Remove permission from a file/directory
Following example removes read and write permission for the user.$ chmod u-rx filename
4. Change permission for all roles on a file/directory
Following example assigns execute privilege to user, group and others (basically anybody can execute this file).$ chmod a+x filename
5. Make permission for a file same as another file (using reference)
If you want to change a file permission same as another file, use the reference option as shown below. In this example, file2′s permission will be set exactly same as file1′s permission.$ chmod --reference=file1 file2
400 read for owner
040 read for group
004 read for everbody
200 write for owner
020 write for gropu
002 write for everybody
100 execute for owner
010 execute for group
001 execute for everybody
6. Apply the permission to all the files under a directory recursively
Use option -R to change the permission recursively as shown below.$ chmod -R 755 directory-name/
7. Change execute permission only on the directories (files are not affected)
On a particular directory if you have multiple sub-directories and files, the following command will assign execute permission only to all the sub-directories in the current directory (not the files in the current directory).$ chmod u+X *
Note: If the files has execute permission already for either the group or others, the above command will assign the execute permission to the user