Understanding Linux File Permissions and Ownership


Understanding Linux File Permissions and Ownership

Introduction

File permissions and ownership are critical in Linux security and system administration. Whether you are managing cloud servers, automating deployments, or working in DevOps, understanding how Linux handles file permissions is essential.

In this guide, you will learn:
✔ How Linux file permissions work
✔ The meaning of rwx (read, write, execute) permissions
✔ How to change file permissions using chmod
✔ How to modify file ownership with chown
✔ Best practices for securing files

How Linux File Permissions Work

Every file and directory in Linux has a set of permissions that determine who can read, write, and execute them.             To check the permissions of a file or folder, use: ls -l filename              Example output:    -rw-r--r--  1 user group  1024 Mar 2 12:00 myfile.txt

Let’s break it down:

Symbol

Meaning

-rw-r--r--

File permissions

1

Number of hard links

user

Owner of the file

group

Group associated with the file

1024

File size in bytes

Mar 2 12:00

Last modified date

myfile.txt

File name

Understanding Permission Symbols (rwx & Numeric Representation)

Each file in Linux has three permission sets:
1️⃣ Owner permissions (User)
2️⃣ Group permissions
3️⃣ Other permissions (Everyone else)

These permissions are represented as rwx (read, write, execute):

Permission

Symbol

Numeric Value

Read

r

4

Write

w

2

Execute

x

1

Example: -rwxr-xr-- means:             The owner has rwx (read, write, execute) → 7             The group has r-x (read, execute) → 5             Others have r-- (read-only) → 4 Numeric representation: chmod 754 filename

Changing File Permissions with chmod
The chmod command modifies file permissions using either symbolic or numeric values.

Using Numeric Mode

Mode

Permissions

777

Everyone can read, write, and execute

755

Owner can do everything, others can only read & execute

644

Owner can read & write, others can only read

Example: Give full permission to the owner and read-only to others
chmod 644 myfile.txt

Using Symbolic Mode

            Remove execute permission from everyone:    chmod a-x script.sh             Give write permission to the group:     chmod g+w myfile.txt             Give execute permission to the owner only:     chmod u+x script.sh

Changing File Ownership with chown

The chown command changes the owner of a file Change the owner to john:                                  chown john myfile.txt Change both the owner and group:                     chown john:developers myfile.txt Change ownership recursively for all files in a directory:                 chown -R john:developers /home/john/

Managing Groups with chgrp
The chgrp command changes the group ownership of a file. Change the group to devops:     chgrp devops myfile.txt Change the group ownership for all files in a directory:    chgrp -R devops /var/www/

Best Practices for Linux File Permissions

🔹 Use chmod 700 for sensitive scripts to restrict access
🔹 Set correct permissions on SSH keys (chmod 600 ~/.ssh/id_rsa)
🔹 Use chmod 755 for executables in /usr/local/bin/
🔹 Limit 777 permissions to prevent security risks
🔹 Regularly audit file permissions with ls -l

Conclusion

Understanding Linux file permissions and ownership is essential for security, system administration, and automation. By mastering chmod, chown, and chgrp, you can ensure proper access control over your system files.

Next Steps:

Try modifying file permissions on your system
Practice using chmod and chown with different files
Ensure your Linux system follows security best practices


Post a Comment

Previous Post Next Post