In this post we are going to see(Permission handling in Linux) how to set permission for files and directories in linux/unix.
Before set/unset permission we should check the existing permission for a file usinf ll <filename> command like below.
[root@server ~]# ll abu -rwxrwxrwx. 1 abu root 113 Dec 11 20:22 abu
We can assign permission based on below categories and same has been display while executing ll or ls –l command.
User: u
Group: g
Others: o
Numeric values used for changing/identifying the permissions:
Read: 4, r
Write: 2, w
Execute: 1, x
Command used for changing file permission:
#Chmod 655 <filename>
Example:
Command to set permission:
We are going to set permission for file abu from 777 to 755 using below command. 755 will have full permission for user, read and execute for group and others.
[root@server ~]# chmod 755 abu [root@server ~]# ll abu -rwxr-xr-x. 1 abu root 113 Dec 11 20:22 abu
Also will set the permissions usings characters like below.
Read: r
Write: w
Execute: x
Example:
Command to set permission using characters:
In the below example going to set execute permission alone to others
[root@server ~]# ll abu1 -rwxr-xr--. 1 root abu 0 Dec 11 20:17 abu1 [root@server ~]# chmod o+x abu1 [root@server ~]# ll abu1 -rwxr-xr-x. 1 root abu 0 Dec 11 20:17 abu1
Changing ownership of a file or directory:
#Chwon user:group <filename>
example:
In below example going to change owner of the directory as lbcuser for lbc directory. User has been created already.
Note: Existing owner and group will be root.
before changing owhership:
[root@server ~]# mkdir lbc [root@server ~]# ll | grep lbc drwxr-xr-x. 2 root root 6 Dec 16 20:33 lbc
after changing ownership:
[root@server ~]# chown lbcuser lbc [root@server ~]# ll | grep lbc drwxr-xr-x. 2 lbcuser root 6 Dec 16 20:33 lbc
using chown command will change group as well like below.
Going to change group as finance.
[root@server ~]# chown :finance lbc [root@server ~]# ll | grep lbc drwxr-xr-x. 2 lbcuser finance 6 Dec 16 20:33 lbc
Will change the group alone using chgrp command:
[root@server ~]# mkdir lbc1 [root@server ~]# chgrp finance lbc1 [root@server ~]# ll | grep lbc1 drwxr-xr-x. 2 root finance 6 Dec 16 20:47 lbc1
Reference: RedHat Document