Skip to main content

LINUX Managing file/folder permissions and ownership

The Unix files access is controlled. There are three types of access (permissions):

  • read
  • write
  • execute
Each file belongs to a specific user and group (ownership).
Access to the files is controlled by user, group, and what is called other/everyone permission bits and is usually set using a numerical value.
For example, 644 as permission bit will result in:
Owner / User Group Other/ Everyone 644
Each number represents the access level and it can be from 0 to 7.

The access level, depending on the number is as follows:

  • 0 - no access to the file whatsoever
  • 1 - execute permissions only
  • 2 - write permissions only
  • 3 - write and execute permissions
  • 4 - read permissions only
  • 5 - read and execute permissions
  • 6 - read and write permissions
  • 7 - read, write and execute permissions (full permissions)

Thus the above 644 permissions example will look like this:

Owner / User - Read and Write Group - Read and Write Other/ Everyone - Read only
To allow a script to be executed and read by everyone but the only one who can write in it is your user, you would need to set 755 as permissions:
  • Owner / UserGroupOther/ Everyone
  • 7 - Full permissions
  • 5 - read and execute
  • 5 - read and execute
Changing the permissions to 700 will make the file visible only for your username and no one else and setting it to 444 will allow only the file creator to modify it.
The command you need to issue to actually change the permissions is called ‘chmod’ and it generally looks like this:
chmod 755 configuration.php
The above example changes the permissions of configuration.php file and sets them to 755.
You can recursively change the permissions of all folders and files using the recursive argument:
chmod -R 755 *This will modify the permissions of all files in the current folder and
set them to 755.
You might wonder what the above user/group values are. These two settings are the actual ownership flags for a file or a folder.
Each file has a primary user that owns it and a group assigned to it. To change those values, a special command exists -- ‘chown’.
Its syntax is very easy:
chown user: group file
For example:
Chown user:
siteground configuration.php
The above line will set the owner of the file to ‘user’ and the group to ‘siteground’.
Changing ownership recursively is also permitted and the flag (naturally) is -R: chown -R user: siteground *

Comments

Popular posts from this blog

Lambda Function with Amazon SNS

  Amazon SNS is a service used for push notification. In this chapter, we will explain working of AWS Lambda and Amazon SNS with the help of an example where will perform the following actions − Create Topic in SNS Service and use AWS Lambda Add Topics to CloudWatch Send SNS text message on phone number given. Requisites To create Topic in SNS Service and use AWS Lambda Add Topics to CloudWatch, we need not follow the steps given below − Create Topic in SNS Create Role for permission in IAM Create AWS Lambda Function Publish to topic to activate trigger Check the message details in CloudWatch service. To send SNS text message on phone number given, we need to do the following − Add code in AWS Lambda to send message to your phone. Example In this example, we will create a topic in SNS. When details are entered in the topic to publish, AWS Lambda is triggered. The topic details are logged in CloudWatch and a message is sent on phone by AWS Lambda. Here is a basic block diagram which exp

Unix / Linux - Shell Input/Output Redirections

W e will discuss in detail about the Shell input/output redirections. Most Unix system commands take input from your terminal and send the resulting output back to your terminal. A command normally reads its input from the standard input, which happens to be your terminal by default. Similarly, a command normally writes its output to standard output, which is again your terminal by default. Output Redirection The output from a command normally intended for standard output can be easily diverted to a file instead. This capability is known as output redirection. If the notation > file is appended to any command that normally writes its output to standard output, the output of that command will be written to file instead of your terminal. Check the following  who  command which redirects the complete output of the command in the users file. $ who > users Notice that no output appears at the terminal. This is because the output has been redirected from the default standard output dev

Unix / Linux - Shell Functions

W e will discuss in detail about the shell functions. Functions enable you to break down the overall functionality of a script into smaller, logical subsections, which can then be called upon to perform their individual tasks when needed. Using functions to perform repetitive tasks is an excellent way to create  code reuse . This is an important part of modern object-oriented programming principles. Shell functions are similar to subroutines, procedures, and functions in other programming languages. Creating Functions To declare a function, simply use the following syntax − function_name () { list of commands } The name of your function is  function_name , and that's what you will use to call it from elsewhere in your scripts. The function name must be followed by parentheses, followed by a list of commands enclosed within braces. Example Following example shows the use of function − #!/bin/sh # Define your function here Hello () { echo "Hello World" } # Invoke yo