dgt_sys04 – Permissions

Module Title: dgt_sys04 – Permissions

Module Description:

“dgt_sys04 – Permissions” is a module on permission management in Linux systems, intended for IT professionals and enthusiasts. It covers the fundamental principles and advanced techniques of permission administration on Unix-like operating systems, as a basis for security and access control.

You will study the permission model in depth, then apply it only through natural language: for example, you ask the machine to give a project group write access to a shared directory without exposing it to others. It proposes the commands, and you must be able to read a mode like 2770 or a recursive ownership change at a glance and say whether it does what you asked, or quietly opens a security hole.

Module Objectives:

  1. Understand Linux Permission Model: Gain a solid understanding of how the Linux file system handles permissions. Explore the roles of users, groups, and others in permission settings.

  2. The chmod Command: Learn how the chmod command modifies file and directory permissions, in both symbolic and numeric modes, so you can verify every change the machine proposes.

  3. Using chown: Learn how the chown command changes file ownership and group association, and check that the machine applies it to the right targets.

  4. Explore chattr Command: Study advanced settings with the chattr command, which sets or clears attributes that affect file behavior at a low level.

  5. Practical Application: Describe permission requirements for complex directory structures and multi-user environments in natural language, then audit the result the machine delivers.

  6. Security Implications: Learn about potential security risks associated with improper permission settings and how to mitigate them effectively.

Module Content:

  • Introduction to Linux Permissions
  • Overview of file types and their attributes.
  • Understanding the rwx read, write, execute permissions for user, group, and others.

  • chmod Command Deep Dive

  • Syntax and usage examples, to read and verify what the machine runs.
  • Differences between absolute numeric and symbolic modes.
  • Special permission bits: setuid, setgid, and sticky bit.

  • chown Command in Detail

  • Changing ownership of files and directories.
  • Recursively changing group ownership with the -R option, and why it should be requested with care.

  • Advanced Attributes with chattr

  • Setting immutable and append-only attributes.
  • Understanding how these attributes protect critical system files.

  • Case Studies and Best Practices

  • Real-world scenarios in which you instruct the machine to apply permission management techniques.
  • Strategies to audit and troubleshoot permissions, asking the machine for the right evidence and interpreting it yourself.

  • Security Considerations

  • Analyzing the impact of permission settings on system security.
  • Implementing best practices to prevent unauthorized access.

Target Audience:

This module is intended for system administrators, DevOps engineers, cybersecurity professionals, or anyone responsible for managing Linux-based systems. Prior familiarity with Linux and basic file permissions will be beneficial but not mandatory.

By the end of this module, participants will have a thorough understanding of Linux permissions and will be able to direct the machine to manage them, verifying that access control stays secure and efficient across applications and services.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy