Skip to main content

Understanding File Permissions in Linux – A Beginner’s Guide

 

Understanding File Permissions in Linux – A Beginner’s Guide

The foundation of Linux systems' security model is file permissions. They decide who can access a system's files and directories and how. An overview of Linux file permissions, their operation, and how to modify them are given in this article.

File permissions in Linux control who can read, write, or execute a file. Understanding these permissions is essential for system security, user management, and smooth application operation. In this guide, you’ll learn what Linux file permissions are, how they work, and how to change them with simple commands.

A fundamental security aspect of Linux is permissions, which regulate who can access, alter, or run files and folders. The owner, the group, and others (everyone else) are the three user classes to which they are assigned.

understanding linux file permissions rwx r-x r-x


What Are File Permissions in Linux?

Every file and directory in Linux has permissions that define:

  • Who can read it

  • Who can modify it

  • Who can execute it

These permissions are divided into three categories:

  1. Owner – the user who created the file

  2. Group – users in the same group

  3. Others – everyone else


Types of Permissions

Linux uses three main permission types:

  • Read (r) – view file content

  • Write (w) – modify or delete file

  • Execute (x) – run file as a program


Viewing File Permissions

Use the ls -l command:

ls -l file.txt

Example output:

-rw-r--r-- 1 user group 1200 Jan 18 file.txt

Breakdown:

  • - : file type

  • rw- : owner permissions

  • r-- : group permissions

  • r-- : others permissions


Understanding Permission Format

Format:

rwxr-xr--

Meaning:

  • Owner: rwx (read, write, execute)

  • Group: r-x (read, execute)

  • Others: r-- (read only)


File vs Directory Permissions

For files:

  • r → read file

  • w → edit file

  • x → run file

For directories:

  • r → list files

  • w → add/delete files

  • x → enter directory


Changing Permissions with chmod

Using Symbolic Mode

chmod u+x file.sh      # add execute to owner
chmod g-w file.txt     # remove write from group
chmod o+r file.txt     # add read to others

Using Numeric Mode

Numbers:

  • r = 4

  • w = 2

  • x = 1

Example:

chmod 755 script.sh

Meaning:

  • Owner: 7 → rwx

  • Group: 5 → r-x

  • Others: 5 → r-x


Changing Owner and Group

Use chown:

chown user file.txt
chown user:group file.txt

Special Permissions

SUID (Set User ID)

chmod u+s file

File runs with owner’s permissions.


SGID (Set Group ID)

chmod g+s dir

Files inside inherit group.


Sticky Bit

chmod +t /shared

Only file owner can delete files.


Common Permission Examples

CommandMeaning
chmod 644 file.txtOwner read/write, others read
chmod 700 privateOnly owner access
chmod 777 fileEveryone full access (not recommended)

Why File Permissions Matter

File permissions:

  • Protect sensitive data

  • Prevent unauthorized access

  • Control program execution

  • Improve system security

Wrong permissions can lead to data loss or hacking.


Conclusion

Understanding file permissions in Linux is essential for every user and administrator. Permissions define who can read, write, or execute files and directories. By learning commands like ls, chmod, and chown, you can manage security and access effectively in any Linux system.

Comments

Popular posts from this blog

How to Check if a Header Is Available in a Linux File – A Complete Guide

   How to Check if a Header Is Available in a Linux File – A Complete Guide When working in Linux environments, developers and system administrators often need to verify whether a specific header , field name, or column exists inside a file. This is especially common when dealing with CSV files , log files , configuration files , or any structured data. This guide explains multiple methods to check whether a header is present using simple Linux command-line tools. Why Check for a Header in Linux? Checking for a header is useful when you want to: Validate data files Ensure correct file formats Prevent script failures Perform conditional processing Linux provides multiple commands to check headers efficiently. 1. Using grep (Simple & Fast) grep -q "HeaderName" filename && echo "Header exists" || echo "Header not found" 2. Check Only the First Line head -n 1 filename | grep -q "HeaderName" 3. Using awk for Ex...

Linux vs Windows: Key Differences for Developers (Complete Guide)

Here we can choosing the right operating system is one of the most important decisions for developers. Linux vs Windows is a long-standing debate, especially for programmers working in web development, DevOps, cloud computing, and data engineering. While Windows offers a user-friendly desktop experience, Linux dominates servers, containers, and cloud platforms. In this guide, we’ll compare Linux vs Windows for developers , covering performance, security, development tools, server usage, and real-world use cases. Linux for Developers Native support for: Docker Kubernetes Git SSH Python, Java, Node.js, Go Terminal-first workflow Same OS used in production servers Windows for Developers Strong support for: .NET & C# Visual Studio Enterprise desktop apps WSL (Windows Subsystem for Linux) improves Linux compatibility Still less native than real Linux Software Installation & Package Management Linux Package managers like: ...

Building Multi-Agent Systems: Practical Tutorial for 2026

Building Multi-Agent Systems: Practical Tutorial for 2026 Introduction Multi-Agent Systems (MAS) are becoming one of the most powerful architectures in modern AI. In 2026, they are widely used in automation, trading bots, robotics, distributed AI, smart cities, and enterprise AI systems. Instead of relying on one large AI model, multi-agent systems use multiple intelligent agents that collaborate, compete, or coordinate to solve complex problems. This tutorial explains how to build multi-agent systems from scratch in a practical and beginner-friendly way. What is a Multi-Agent System? A Multi-Agent System (MAS) consists of multiple autonomous AI agents that: Perceive the environment Make decisions independently Communicate with other agents Work toward shared or individual goals Each agent has its own role, memory, and reasoning capability. Experts from IBM, Google Cloud, Gartner, Deloitte, and others are calling 2026 the "year of multi-agent systems" and "multi-agent o...