Skip to main content
Operating System Fundamentals – Complete Beginner to Advanced Guide
CHAPTER 17 Intermediate

User Management and Permissions

Updated: May 16, 2026
30 min read

# CHAPTER 17

User Management and Permissions

1. Introduction

In the previous chapter, we explored the theoretical concept of Access Control Lists (ACLs) and Authorization. However, theory must eventually become code. If you are administering a Linux web server or a Windows Domain Controller, you must know how to type the exact commands to lock down a file. Interestingly, Linux and Windows handle permissions in fundamentally different ways. Linux relies on an elegant, rigid, decades-old mathematical system. Windows relies on a massive, highly granular, graphical ruleset. In this chapter, we will master practical User Management and Permissions. We will decode the cryptic rwxr-xr-- output of Linux, learn the numerical chmod command, and contrast it against the robust inheritance rules of the Windows NTFS security model.

2. Learning Objectives

By the end of this chapter, you will be able to:
  • Explain the concept of File Ownership (User and Group) in an Operating System.
  • Decode the UNIX/Linux UGO (User, Group, Others) permission model.
  • Translate Linux Read/Write/Execute letters into their Octal numerical values (e.g., 755).
  • Utilize the chmod and chown commands in a Linux terminal.
  • Contrast the rigid Linux permission model with the granular Windows NTFS model.

3. File Ownership (Users and Groups)

In both Linux and Windows, a file does not exist in a vacuum. Every single file has strict ownership metadata attached to it.
  1. 1. The Owner (User): The specific human (or system account) who created the file.
  1. 2. The Group: A collection of multiple users (e.g., Marketing_Team). A file can belong to a specific group, allowing multiple people to share ownership.

4. The Linux Permission Model (UGO)

Linux utilizes an incredibly simple, fast, and rigid permission system based on three categories: User, Group, and Others (everyone else on the computer). For each of those three categories, Linux can grant three specific rights:
  • R (Read): Can open and view the file.
  • W (Write): Can edit or delete the file.
  • X (Execute): Can run the file as a program or script.

*Reading the string:* If you type ls -l in a terminal, you might see: -rwxr-xr-- Break it into blocks of three:

  • rwx (User): The Owner can Read, Write, and Execute.
  • r-x (Group): The Group can Read and Execute, but NOT Write.
  • r-- (Others): Everyone else can ONLY Read.

5. The Octal Number System (chmod)

System administrators do not type rwxr-xr--. They use a fast mathematical shorthand using numbers (Octal).
  • Read (r) = 4
  • Write (w) = 2
  • Execute (x) = 1

To figure out the permission, you just add the numbers together!

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

Therefore, the string -rwxr-xr-- is mathematically expressed as 754. To instantly apply this permission to a file, an admin simply types: chmod 754 secret.txt.

6. The Windows Security Model (NTFS)

The Linux rwx model is fast, but it is very rigid. What if you want to give User A Read access, User B Write access, User C Deny access, and User D Full Control? You cannot do that easily with the basic Linux UGO model.

Windows uses the NTFS Security Model. Instead of three rigid buckets, Windows attaches an infinite list (The ACL) to every file. You can add 50 different users to the list, each with hyper-specific permissions.

  • Inheritance: In Windows, if you put a file inside a folder, the file *automatically inherits* all the security permissions of the folder. This allows admins to manage thousands of files simply by locking the top-level folder.

7. Diagrams/Visual Suggestions

*Visual Concept: The chmod Calculator* Create a visual table bridging letters and numbers. Value | Letter | Action 4 | r | Read 2 | w | Write 1 | x | Execute Show three addition equations below the table: User: 4 + 2 + 1 = 7 Group: 4 + 0 + 1 = 5 Others: 0 + 0 + 0 = 0 Total Command: chmod 750 filename This acts as a perfect cheat sheet for students learning Linux administration.

8. Best Practices

  • Never Use chmod 777: The command chmod 777 filename gives Read, Write, and Execute permissions to every single user, guest, and hacker on the entire computer. Junior developers often use this because it "fixes access denied errors quickly." It is a massive security vulnerability. Always use the absolute minimum permissions required (Principle of Least Privilege).

9. Common Mistakes

  • Applying Linux "Execute" Permissions to Text Files: In Windows, a file runs because it ends in .exe. In Linux, file extensions don't matter! A file runs *only* if the OS grants it the "Execute" (x) permission. Beginners often download a Python script (script.py) and try to run it, but the OS says "Access Denied." They must explicitly make the file executable by running chmod +x script.py.

10. Mini Project: Translate Linux Permissions

Translate the following Linux permission strings into their Octal (chmod) number equivalents:
  1. 1. -rw-rw-r--
  • User (rw-): 4+2=6. Group (rw-): 4+2=6. Others (r--): 4.
  • *Answer: 664*
  1. 2. -rwx------
  • User (rwx): 4+2+1=7. Group (---): 0. Others (---): 0.
  • *Answer: 700 (Perfect for highly secure, private SSH keys!)*
  1. 3. -rwxrwxrwx
  • User (rwx): 7. Group (rwx): 7. Others (rwx): 7.
  • *Answer: 777 (Extremely dangerous!)*

11. Practice Exercises

  1. 1. Explain the operational difference between the Owner (User), the Group, and Others in the Linux UGO permission model.
  1. 2. Detail the concept of "Inheritance" within the Windows NTFS security model. Why is this feature critical for enterprise data management?

12. MCQs with Answers

Question 1

A Linux systems administrator needs to configure a highly sensitive configuration script so that the Owner can Read, Write, and Execute it, but the Group and Everyone Else has absolutely zero access to it. Which chmod octal command achieves this exact configuration?

Question 2

In a Linux operating system, a user creates a simple text file. They attempt to run the text file as a bash script, but the OS blocks the action, regardless of whether the user is logged in as the root Administrator. What specific metadata permission must be added to the file to allow the OS to run it?

13. Interview Questions

  • Q: A junior developer complains that their newly uploaded script is returning a "Permission Denied" error on the Linux web server. They ask you to run chmod 777 on the entire web directory to fix it. Explain why this is a catastrophic security practice, and describe a more secure permission alternative (e.g., 644 or 755).
  • Q: Walk me through the mathematical calculation of the chmod 640 command. Exactly which actions are the User, the Group, and the Others permitted to perform on this file?
  • Q: Contrast the Linux UGO model with Windows NTFS ACLs regarding extreme granularity. If you need to grant exactly 12 specific users varying levels of access to a single file, which operating system's security architecture handles this more efficiently, and why?

14. FAQs

Q: Can a standard user change the Owner of a file in Linux using the chown command? A: Usually, no. Even if you created the file and own it, the Linux kernel generally prevents standard users from giving ownership away to someone else. This prevents malicious users from hiding illegal files on the server and changing the ownership to frame another user! Only the root (Superuser) can freely reassign file ownership.

15. Summary

In Chapter 17, we translated theoretical security principles into executable administrative commands. We decoded the mathematical elegance of the Linux UGO model, mastering the Read (4), Write (2), and Execute (1) octal shorthand required to manipulate file access rapidly via the chmod command. We recognized the absolute necessity of the Execute flag for running scripts in UNIX environments. Finally, we contrasted this rigidity against the sprawling, highly granular architecture of Windows NTFS, embracing the power of Inheritance to push security policies down through massive corporate folder structures effortlessly.

16. Next Chapter Recommendation

The Operating System is now secure, but it is isolated. To be useful, the OS must communicate with the rest of the world. Proceed to Chapter 18: Networking in Operating Systems.

Finish this Chapter

Save your progress on your learning path and prepare for coding interview challenges.

Discussion

Join the discussion

Log in or create a free account to participate.

Sort: ·