Open In App

How to Fix – Reading A File: Permission Denied on Linux

Last Updated : 09 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will see how to fix when a permission error occurs while reading any file in Linux. We’ll see how to fix that and also why that error occurs, and its common causes so that in future you will be able to solve those kinds of errors yourself. We’ll learn various methods to solve this error allowing you to choose the approach that best suits your preferences.

Error: Reading A File: Permission Denied

Error

Error

What is Reading A File: Permission Denied on Linux?

“Reading a file: Permission denied” on Linux is an error message that indicates the user or process attempting to read a file does not have the necessary permissions to do so. In Linux and Unix-based systems, file permissions are controlled through the file’s permission settings, which include read, write, and execute permissions for the file owner, group, and others.

Here are some common scenarios where you might encounter the “Permission denied” error while trying to read a file:

  1. Insufficient Permissions: If the file you are trying to read does not have read permissions set for your user or group, you will encounter a “Permission denied” error. You can check the file’s permissions using the ls -l command in the terminal.
  2. Ownership: If the file is owned by another user or group, and you do not belong to that user or group, you may not have permission to read the file. Only the file owner or users with appropriate permissions can access the file.
  3. File Location: If the file is located in a directory where you do not have read permissions, you will not be able to access the file even if the file itself has the correct permissions set.

How to Fix – Reading A File: Permission Denied on Linux?

Below are the solutions to resolve the “Reading A File: Permission Denied” problem in the Linux Operating System.

Solution 1: Changing File Permission

Step 1: To fix “Reading A File: Permission Denied” on Linux, you can change the file’s permissions using the chmod command. First, check the current permissions with ls -l, where the output shows permissions for the owner, group, and others in the format rwxrwxrwx. Use chmod to modify permissions, such as chmod +r filename to add read permission for the file. If you don’t have permission to change permissions, use sudo before the chmod command.

Syntax:

ls -l  or ls -l filename

Example: This will list the current permissions granted to the file.

ls -l

Output:

Check File Permissions

Check File Permissions

Step 2: Now change the file permission so that the user can read the file. For that, we have to chmod command specifying whom you want to give permission to owner/user (u), group (g), others (o), or all (a) followed by the ‘+’ symbol which means to give permission and then that followed by the ‘r’ which means ‘read‘ and after that filename.

Syntax:

chmod [recipient]+r filename

Example: This will grant read permission to the user, others, and the group.

chmod og+r demo.txt      #read permission to other and group
or
chmod u+r demo.txt #read permission to user

Output:

File Permission Changed

File Permission Changed

Solution 2: Using sudo Command

You can use the sudo command to run commands as a superuser, allowing you to access files and perform actions that require elevated privileges. For example, if you encounter “Permission Denied” while reading a file, you can use sudo cat filename to read the file with superuser permissions. This grants you the necessary access to bypass permission restrictions and read the file content.

Syntax:

sudo cat <filename>

Example: Using sudo with cat command to read demo.txt file

sudo cat demo.txt

Output:

Reading file being superuser

Reading files being superuser

Solution 3: Change file Ownership

You can change the ownership of the file using the chown command. For instance, if the file is owned by another user and you have permission to change ownership, you can use sudo chown your_username filename to change ownership to your user account. This allows you to read the file without encountering “Permission Denied.”

Syntax:

sudo chown <your_username> <filename>

Example: This command will change the ownership of the file and grant read permissions to the brahmbeyond user.

sudo chown brahmbeyond test.txt

Output:

Transferred the ownership from root to user

Transferred the ownership from root to user

To verify and read the file after granting permission, execute the below command in the terminal to read the contents of the file.

Command:

cat test.txt

Output:

Reading File Contents

Reading File Contents

FAQs on Fixing Reading A File: Permission Denied on Linux

What is the ‘sudo’ command in Linux?

Sudo command stands for ‘superuser do’, which gives all permissions to user over the whole computer System. With sudo command you can delete or change even the most private or important files in Linux. To use sudo you have to just use ‘sudo’ at start of any command you want like:

 sudo chmod +r demo

What is the possible reason for getting the Permission Denied error while trying to read a file in Linux?

The possible reasons for this can be lacking read permissions, ownership issues, and the need for superuser privileges

When should I use each method to fix permission errors?

You should choose the given methods in the article as per your level like if you are not owner of file and also don’t have write permission then you can sudo command. Or if not a superuser but have write permission than you can change the permission of the file using chmod.

How to not stuck in these types of errors?

The best answer and advice for this is to learn at least Linux basics first then you can learn more about Linux while using or creating projects and by doing these you will be able to tackle the errors on your own. Every stuck at the beginning.

Why is file permission important in Linux?

File permission is very important not only in Linux but in every operating system. It prevents important files from unauthorized access and prevents it from unnecessary tampering or deletion of files.

Conclusion

In conclusion, when encountering “Reading A File: Permission Denied” on Linux, understanding file permissions, ownership, and file locations is crucial. Solutions such as changing file permissions with chmod, using sudo for elevated privileges, and changing file ownership with chown provide ways to resolve this error effectively, ensuring access to the file content without permission issues.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads