Read and Write Files Based on Linux Permissions in C

Linux is a clone of UNIX, the multi-user operating system which can be accessed by many users simultaneously. Linux can also be used in mainframes and servers without whatsoever modifications. But this raises security concerns as an unsolicited or malign user can decadent, alter or remove crucial data. For effective security, Linux divides authorization into 2 levels.

  1. Ownership
  2. Permission

In this Linux file commands tutorial, you volition learn-

  • Linux File Ownership
  • Linux File Permissions
  • Changing file/directory permissions in Linux Using 'chmod' command
  • Accented(Numeric) Mode in Linux
  • Symbolic Mode in Linux
  • Changing Ownership and Grouping in Linux

The concept of Linux File permission and ownership is crucial in Linux. Here, we will explicate Linux permissions and buying and will discuss both of them. Let us get-go with the Ownership.


Click hither if the video is not attainable

Linux File Ownership

Every file and directory on your Unix/Linux system is assigned iii types of possessor, given below.

User

A user is the owner of the file. By default, the person who created a file becomes its owner. Hence, a user is also sometimes called an owner.

Grouping

A user- group can contain multiple users. All users belonging to a group volition take the same Linux group permissions access to the file. Suppose you lot have a project where a number of people require access to a file. Instead of manually assigning permissions to each user, y'all could add all users to a group, and assign group permission to file such that only this group members and no one else can read or change the files.

Other

Whatever other user who has access to a file. This person has neither created the file, nor he belongs to a usergroup who could ain the file. Practically, it ways everybody else. Hence, when you prepare the permission for others, information technology is also referred equally set permissions for the world.

At present, the large question arises how does Linux distinguish between these three user types then that a user 'A' cannot affect a file which contains another user 'B's' vital data/data. It is like yous do not want your colleague, who works on your Linux computer, to view your images. This is where Permissions set in, and they define user behavior.

Permit us sympathize the Permission system on Linux.

Linux File Permissions

Every file and directory in your UNIX/Linux system has following 3 permissions divers for all the three owners discussed above.

  • Read: This permission give you lot the authorisation to open up and read a file. Read permission on a directory gives you the power to lists its content.
  • Write: The write permission gives you the say-so to change the contents of a file. The write permission on a directory gives you the authorization to add together, remove and rename files stored in the directory. Consider a scenario where you have to write permission on file but do not have write permission on the directory where the file is stored. Yous volition be able to modify the file contents. But you volition not be able to rename, movement or remove the file from the directory.
  • Execute: In Windows, an executable program normally has an extension ".exe" and which you can hands run. In Unix/Linux, you cannot run a program unless the execute permission is set. If the execute permission is non set, you might still be able to see/modify the program lawmaking(provided read & write permissions are prepare), but not run it.
File Permissions in Linux/Unix
File Permissions in Linux/Unix

Let'south see file permissions in Linux with examples:

ls – l on terminal gives

ls - l

File Permissions in Linux/Unix

Here, we accept highlighted '-rw-rw-r–'and this weird looking code is the i that tells us about the Unix permissions given to the owner, user grouping and the world.

Here, the first '' implies that we have selected a file.p>

File Permissions in Linux/Unix

Else, if it were a directory, d would have been shown.

File Permissions in Linux/Unix

The characters are pretty piece of cake to retrieve.

r = read permission
w = write permission
x = execute permission
= no permission

Permit us look at it this way.

The first office of the code is 'rw-'. This suggests that the owner 'Home' can:

File Permissions in Linux/Unix

  • Read the file
  • Write or edit the file
  • He cannot execute the file since the execute bit is gear up to '-'.

By design, many Linux distributions like Fedora, CentOS, Ubuntu, etc. will add users to a group of the same group name as the user name. Thus, a user 'tom' is added to a grouping named 'tom'.

The 2nd part is 'rw-'. Information technology for the user group 'Habitation' and group-members tin:

  • Read the file
  • Write or edit the file

The tertiary part is for the world which means any user. It says 'r–'. This means the user tin can only:

  • Read the file

File Permissions in Linux/Unix

Changing file/directory permissions in Linux Using 'chmod' command

Say you exercise non want your colleague to run into your personal images. This can be achieved by irresolute file permissions.

Nosotros can use the 'chmod' control which stands for 'modify mode'. Using the command, we tin set permissions (read, write, execute) on a file/directory for the owner, grouping and the globe.

Syntax:

chmod permissions filename

There are 2 ways to apply the command –

  1. Absolute way
  2. Symbolic manner

Accented(Numeric) Way in Linux

In this mode, file permissions are not represented as characters but a three-digit octal number.

The table below gives numbers for all for permissions types.

Number Permission Blazon Symbol

0

No Permission


1

Execute

–10

ii

Write

-due west-

3

Execute + Write

-wx

4

Read

r–

v

Read + Execute

r-x

half dozen

Read +Write

rw-

7

Read + Write +Execute

rwx

Let's see the chmod permissions control in activeness.

File Permissions in Linux/Unix

In the above-given terminal window, we have changed the permissions of the file 'sample to '764'.

File Permissions in Linux/Unix

'764' absolute lawmaking says the following:

  • Owner can read, write and execute
  • Usergroup can read and write
  • World tin only read

This is shown as '-rwxrw-r–

This is how you tin can change user permissions in Linux on file past assigning an accented number.

Symbolic Fashion in Linux

In the Absolute mode, yous change permissions for all iii owners. In the symbolic manner, you lot tin can alter permissions of a specific owner. Information technology makes use of mathematical symbols to change the Unix file permissions.

Operator Description

+

Adds a permission to a file or directory

Removes the permission

=

Sets the permission and overrides the permissions fix earlier.

The various owners are represented as –

User Denotations

u

user/owner

k

grouping

o

other

a

all

Nosotros will not exist using permissions in numbers like 755 simply characters like rwx. Let's wait into an example

File Permissions in Linux/Unix

Changing Ownership and Group in Linux

For changing the ownership of a file/directory, you tin use the following command:

chown user filename

In case you want to alter the user as well as group for a file or directory utilize the control

chown user:group filename

Let'south see this in activeness

File Permissions in Linux/Unix

In instance you want to change group-owner only, use the command

chgrp group_name filename

'chgrp' stands for modify group.

File Permissions in Linux/Unix

Tip

  • The file /etc/grouping contains all the groups divers in the system
  • Yous can use the command "groups" to find all the groups you are a fellow member of
  • File Permissions in Linux/Unix

  • Y'all tin use the command newgrp to work as a fellow member a grouping other than your default group
  • File Permissions in Linux/Unix

  • You cannot accept two groups owning the same file.
  • You exercise non have nested groups in Linux. One group cannot be sub-grouping of other
  • x- eXecuting a directory means Being allowed to "enter" a dir and gain possible access to sub-dirs
  • At that place are other permissions that you tin set on Files and Directories which volition exist covered in a later advanced tutorial

Summary:

  • Linux existence a multi-user organisation uses permissions and buying for security.
  • There are three user types on a Linux system viz. User, Group and Other
  • Linux divides the file permissions into read, write and execute denoted by r,w, and x
  • The permissions on a file tin can be changed by 'chmod' control which can be further divided into Accented and Symbolic mode
  • The 'chown' command tin modify the ownership of a file/directory. Employ the following commands: chown user file or chown user:group file
  • The 'chgrp' command tin modify the group buying chrgrp group filename
  • What does x – eXecuting a directory mean? A: Beingness immune to "enter" a dir and gain possible access to sub-dirs.

hymanhishand.blogspot.com

Source: https://www.guru99.com/file-permissions.html

0 Response to "Read and Write Files Based on Linux Permissions in C"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel