Skip to main content

Command Palette

Search for a command to run...

Linux File Permissions For DevOps Beginners

Updated
5 min read
Linux File Permissions For DevOps Beginners
R
From learning basic computers in college to working in enterprise software. Now exploring DevOps, cloud, and automation while sharing the journey publicly.

When I started learning Linux for DevOps, everything felt exciting.

Every new command felt like unlocking a new level.

I learned commands like:

ls
cd
mkdir
grep

Slowly, the Linux terminal started feeling less intimidating.

Then one day I created a simple script and tried to run it.

./deploy.sh

But instead of running, the terminal responded with something confusing:

Permission denied

The file was there.
The command was correct.

So why wouldn’t Linux allow it to run?

That moment introduced me to one of the most important concepts in Linux systems:

File Permissions.

And if you're learning DevOps, understanding Linux permissions is not optional — it's a core skill.

Because in real environments, permissions control things like:

✅ Who can run deployment scripts
✅ Who can access application logs
✅ Who can modify configuration files
✅ How secure your system actually is

In this blog, I’ll break down Linux file permissions in a simple and beginner-friendly way, so you can understand how they work and why they matter for DevOps engineers.

Why Linux Permissions Matter in DevOps

Most modern infrastructure runs on Linux.

From:

✅ Cloud servers
✅ Docker containers
✅ Kubernetes clusters
✅ CI/CD pipelines

Linux is everywhere.

Because of that, permissions play a critical role in ensuring systems are:

✅ Secure
✅ Stable
✅ Properly managed

For example:

✅ A deployment script must be executable
✅ Application logs must be readable
✅ Configuration files must be protected

Without proper permissions, systems can easily break or become insecure.

Understanding the Linux Permission Model

Every file and directory in Linux has three types of permissions.

Permission Meaning
Read (r) View file content
Write (w) Modify the file
Execute (x) Run the file

These permissions apply to three types of users.

User Type Meaning
User (u) File owner
Group (g) Users in the same group
Others (o) Everyone else

This structure helps Linux control who can access what on a system.

How to Check File Permissions

To view file permissions, we use the ls -l command.

ls -l

Example output:

-rwxr-xr-- 1 rahul devops 120 script.sh

Let’s understand this part:

-rwxr-xr--

It represents the permissions.

Section Meaning
rwx Owner permissions
r-x Group permissions
r-- Others permissions

So in this example:

✅ Owner can read, write, execute
✅ Group can read and execute
✅ Others can only read

chmod – Changing File Permissions

The chmod command is used to modify permissions.

Example:

chmod 755 script.sh

Linux uses numbers to represent permissions.

Number Permission
4 Read
2 Write
1 Execute

So:

7 = 4 + 2 + 1 = rwx
5 = 4 + 1 = r-x

Meaning:

chmod 755 script.sh

Results in:

rwxr-xr-x

Real DevOps Scenario

Imagine you created a deployment script.

deploy.sh

When you try to run it:

./deploy.sh

Linux may show:

Permission denied

This happens because the script is not executable.

To fix it:

chmod +x deploy.sh

Now the script becomes executable.

This is a very common situation in DevOps automation and CI/CD pipelines.

chown – Changing File Ownership

Sometimes an application cannot access a file because it belongs to a different user.

To change ownership, we use the chown command.

Example:

chown user:group filename

Example in practice:

chown rahul:devops app.log

This assigns:

Owner → rahul
Group → devops

Now the correct user can access the file.

Why DevOps Engineers Must Understand Permissions

Linux permissions directly affect real production systems.

DevOps engineers frequently deal with issues like:

✅ Deployment scripts not executing
✅ Applications unable to write logs
✅ Containers unable to access volumes
✅ Configuration files being exposed

Understanding permissions helps diagnose and fix these issues quickly.

Quick Practice for Beginners

If you're learning Linux, try practicing these commands.

Create a file:

touch test.sh

Check permissions:

ls -l

Make it executable:

chmod +x test.sh

Run the file:

./test.sh

These small exercises help build confidence with Linux systems.

Final Thoughts 🧠

While learning DevOps, it's easy to focus only on tools like:

✅ Docker
✅ Kubernetes
✅ Terraform

But the truth is:

Strong Linux fundamentals make everything easier.

Understanding file permissions helps you manage systems more confidently and avoid many common production issues.

And for anyone starting their DevOps journey, mastering these basics is a big step forward.

What’s Next in My DevOps Learning Series

As I continue exploring Linux from a DevOps perspective, I’m slowly realizing that understanding the system is just as important as learning the tools.

In the next article, I’ll dive into another essential Linux concept every DevOps beginner should know:

Linux Process Management for DevOps Beginners

Understanding process management is a key step toward becoming comfortable with Linux systems and troubleshooting real infrastructure issues.

Connect With Me 🤝

If you enjoyed this article and are also learning Linux, DevOps, and Cloud, feel free to connect with me and follow my journey.

I regularly share what I’m learning about DevOps tools, Linux concepts, and real hands-on practice.

YouTube
DevOps tutorials and learning projects
https://www.youtube.com/@devopsjourneywithrahul

Instagram
Quick DevOps tips, learning updates, and tech content
https://www.instagram.com/devopsjourneywithrahul/

I’m documenting my DevOps journey step by step, and I hope it helps other beginners who are starting their journey too.

Let’s learn, build, and grow together. 🚀

Linux for DevOps Beginners

Part 4 of 8

This series documents my journey of learning Linux for DevOps. It covers Linux fundamentals, essential commands, file systems, permissions, processes, and system management concepts that every DevOps beginner should understand.

Up next

Linux Process Management for DevOps Beginners

When I first started learning Linux, most of my focus was on basic commands like: ls cd mkdir grep These commands helped me navigate the system and understand how Linux works. But as I started runnin