Linux For Home

Linux For The Home PC - 4683

Saturday, February 15, 2014

Tutorial 4: Understanding File Permissions and umask

Every file or a folder that we create in unix has a set of permissions for the file owner, group owner and the other users. Let us have a look at these permissions.

Eg. touch test1.

Here we created a new empty file called test1.

Now locate the file in the present working directory and right click on it. Then, click on properties and open the permissions tab as below.























From above screen shot we can see that by default the owner of the file gets Read and Write permissions, while the group users and other users have Read permissions only. Moreover, it can be observed that there is a checkbox for Execute which is unchecked by default. Checking this, makes the file executable. This comes handy especially when your file holds a shell script and you want to execute it on terminal.

Read permission allows user only to read the contents of a file.
Read and write permission allows user to read the contents of a file and add or edit the contents of a file.
Execute permission allows user to execute the file on a terminal.

Please note that whenever a file is created, the above set of permissions would be set by default unless you explicitly mention a different set of permissions while creating a file.

It is interesting to know that each of these permissions have a numeric value associated with it.

Eg.
Read - 4
Write - 2
Execute - 1

This means, when the file has the read, write as well as execute permission, then it has a numeric value as 4+2+1 = 7. However, with default settings the file will always have a value of 6 i.e. it will have read and write permission.

Having said that, let me introduce you to a system variable called umask.

umask - It is a system variable.
When we write umask on terminal and press enter, we get output as 0022.
















The first 0 tells that it is an octal number and the remaining three digits 022 are responsible for the default permissions assigned to a file or a folder. For example, for setting the default permission of a file, unix substracts 022 from 666. This gives the output as 644. This means, the owner of file will have read and write permissions (4 for read and 2 for write) while the group members and other users will only have read permission (4 for read).


We will elaborate these concepts further when we look into chmod command to change the file permissions. 

No comments:

Post a Comment