DEV Community

Cover image for Understanding Linux File Permissions - The Smarter Way (Day 9 of 30)
Sheikh Hassaan Bin Nadeem
Sheikh Hassaan Bin Nadeem

Posted on

Understanding Linux File Permissions - The Smarter Way (Day 9 of 30)

Table of Contents

  1. Introduction
  2. Understanding File Permissions in Linux
  3. The Symbolic Method (The Harder Way)
  4. The Numeric Method (The Smarter Way)
  5. Real-World Examples to Practice
  6. Summary

1. Introduction

Permissions are at the heart of Linux security and daily operations. Understanding how to manage them quickly and correctly is vital whether you’re administering servers, developing apps, or just maintaining your system.

We'll explore both ways of managing permissions; the symbolic way and the numeric way but with a clear recommendation on which method to stick with for faster, smarter workflow.


2. Understanding File Permissions in Linux

Every file and directory in Linux has associated permissions that determine who can read, write, or execute them. These permissions are divided among three categories:

  • User (owner)
  • Group (users in the file’s group)
  • Others (everyone else)

The basic permissions are:

  • r (read)
  • w (write)
  • x (execute)

Mastering permission management allows you to control access and secure your systems effectively.


3. The Symbolic Method (The Harder Way)

In the symbolic method, you use letters to represent users and actions. It's very descriptive but can be slightly more tedious, especially under pressure.

Here’s the basic structure:

chmod [user][operator][permission] filename
Enter fullscreen mode Exit fullscreen mode
  • Users: u (user), g (group), o (others), a (all)
  • Operators: + (add), - (remove), = (set exact permissions)

Examples:

chmod u+x file.txt   # Add execute permission for user
chmod go-w file.txt  # Remove write permission for group and others
chmod a=r file.txt   # Set read-only for everyone
Enter fullscreen mode Exit fullscreen mode

While useful, this method requires you to think a little more, especially in more complex scenarios.


4. The Numeric Method (The Smarter Way)

The numeric method uses numbers to represent permissions. It’s faster, easier, and highly recommended for real-world use.

Each permission is assigned a value:

  • r = 4
  • w = 2
  • x = 1

You add up the numbers for each category (User, Group, Others).

Example Calculation:

  • Read (4) + Write (2) + Execute (1) = 7
  • Read (4) + Execute (1) = 5
  • Read (4) = 4

Example Command:

chmod 754 file.txt
Enter fullscreen mode Exit fullscreen mode

Meaning:

  • User: 7 (read+write+execute)
  • Group: 5 (read+execute)
  • Others: 4 (read)

Quick reference table:

Permission Value
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7

Once you get the hang of this, you'll change permissions confidently and quickly without second-guessing!


5. Real-World Examples to Practice

✅ Make a script executable by everyone:

chmod 755 script.sh
Enter fullscreen mode Exit fullscreen mode

✅ Secure a private SSH key:

chmod 600 id_rsa
Enter fullscreen mode Exit fullscreen mode

✅ Make a public file readable but not writable or executable:

chmod 644 public.txt
Enter fullscreen mode Exit fullscreen mode

✅ Grant full access to a user but only read access to others:

chmod 744 filename
Enter fullscreen mode Exit fullscreen mode

✅ Make a directory accessible to everyone:

chmod 755 /var/www/html
Enter fullscreen mode Exit fullscreen mode

These examples are directly applicable whether you’re working on Red Hat Enterprise Linux (RHEL 9) or similar distributions.


6. Summary

  • Both symbolic and numeric methods exist for changing permissions.
  • Focus primarily on the numeric method for speed and simplicity.
  • Keep the symbolic method at the back of your mind for when it's needed.
  • Always set permissions thoughtfully to maintain security!

Getting comfortable with Linux permissions is a superpower, it saves you time, protects your systems, and builds your confidence on the terminal.

Top comments (0)