Linux Permissions Weightage Explained !!

Dhaval Gojiya - Aug 22 - - Dev Community

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!

.