DEV Community

Dhaval Gojiya
Dhaval Gojiya

Posted on

Linux Permissions Weightage Explained !!

When working with Linux, you often encounter file permissions displayed as a combination of letters (rwx) or numbers (4, 2, 1). But what do these mean, and how do they affect file access? Let's break it down step by step.

# 1. The Basics: What Do r, w, and x Stand For?

  • r (Read): Grants the ability to read the contents of the file.

  • w (Write): Allows modifying or writing to the file.

  • x (Execute): Permits running the file as a program.

# 2. Binary Representation: The Language of Computers

To understand why r has a weight of 4, w a weight of 2, and x a weight of 1, we need to delve into binary digits (bits).

  • Bits in Binary: A bit is the smallest unit of data in computing and can be either 0 or 1.

  • Powers of 2: The significance of bits comes from their ability to represent values as powers of 2.

For instance:

  • 1 bit can represent 2 values: 0 or 1.

  • 2 bits can represent 4 values: 00, 01, 10, 11.

  • 3 bits can represent 8 values: 000, 001, 010, 011, 100, 101, 110, 111.

  • 4 bits can represent 16 values: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111.

# 3. The Weights: Breaking Down 4, 2, and 1

In Linux, file permissions are often represented by a three-digit binary number. Each digit corresponds to a specific permission:

  • Read (r): 100 in binary (which equals 4 in decimal).

  • Write (w): 010 in binary (which equals 2 in decimal).

  • Execute (x): 001 in binary (which equals 1 in decimal).

These binary numbers can be combined to represent different permission sets. For example:

  • rwx (111) = 4 + 2 + 1 = 7

  • rw- (110) = 4 + 2 = 6

  • r-- (100) = 4

Here’s a visual representation of these permissions:

Linux File Permissions Overview

# 4. Applying Permissions with chmod

Linux allows you to change file permissions using the chmod command followed by a three-digit number:

  • Example: chmod 622 file1.csv

  • 6 (Owner) = rw- (4 + 2 = 6)

  • 2 (Group) = -w- (2)

  • 2 (Others) = -w- (2)

This command will give:

  • The owner read and write permissions.

  • The group and others write permission only.

# 5. Conclusion: Why It Matters

Understanding these permissions is crucial for controlling file access in a Linux environment. It not only secures your files but also optimizes collaboration by setting appropriate access levels for different users.

Remember:

  • r = 4, w = 2, and x = 1.

  • Use chmod to manage permissions effectively.

By mastering these concepts, you’ll gain greater control over your Linux system and ensure that your files are accessed as intended.

# 6. Linux Permissions Illustrated: Notebook Page Photo

Endnote:

This explanation is just the beginning of your journey into the world of Linux permissions. Keep practising, and soon, these concepts will become second nature!

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post