Red Hat Certified System Administrator (RHCSA) Exam Study Guide

A series containing free resources to study for the RHCSA EX200 based on RHEL8


This is an independent, unofficial and free šŸ¤‘ guide that provides resources to study and understand each of the Red Hat Certified System Administrator (RHCSA) Exam Objectives (EX200).

This guide is not the single source of truth nor the only resource you should use to prepare for the exam. This guide aims to help those incapable šŸ’° of investing in top-tier training and, who are willing to compromise themselves into self-teaching šŸ’Ŗ system administration.


“The Golden Rules” (How to Use This Guide)

  1. Read “The Golden Rules” once more before starting any section.

  2. Perform every objective of learning inside an RHEL8 virtual machine. Practicing in VM’s ensures you won’t harm the computer’s main system.

  3. Go thru all links and content, even if it seems duplicated (and repeat if needed)! Content links aren’t there as alternatives, they are there on purpose! Revisiting a topic and using different formats (video/text) helps to understand and fixing the content. RHCSA is a hands-on exam, to get ready for the exam you need to feel comfortable with the content and there’s nothing better than reinforcement.

  4. Identify the subjects that didn’t stick to you and expand the research to learn and make it stick (but keep focused, item 6.). You may email me or DM me on Twitter, I’ll be glad to help.

  5. Ask for Help! Getting stuck for a long time causes frustration, it drains your energy and pace. Ask for help if you get stuck, email me, go to Twitter, help is not often immediate so take a breath, go walk, relax, get back tomorrow if needed.

  6. Be Focused! Do not fall in Rabbit Holes! Tech is vast, read and re-read the objective and focus on achieving what the objective says. Example: do not try to master Bash scripting, it may take you forever! Focus on the requirements only.

  7. Use and get comfortable with man and friends, the RHCSA exam has no access to the internet so you’d be better at knowing how to find help inside the RHEL system.

  8. Create your notes/cheat sheets while studying (solidify/reinforce the content).

  9. Practice and practice, after finishing the content make sure to revisit examples from each objective and practice it again.

  10. Make sure to remember that: “As with all Red Hat performance-based exams, configurations must persist after reboot without intervention." (Note from RHCSA Objectives page.)

Content Organization

  • There is a separate blog post for each section of the objectives.

  • Each blog post about a section contains two parts: Resources and Cheatsheet.

  • In the Resources part, for each exam objective, there is:

    • At least one video showing how to achieve it.
    • Text material explaining the subject and the objective.
  • The Cheatsheet part contains some examples of commands related to the objective. It may not contain all the commands needed to perform the exam. It should be used only as a complement to your notes and cheat sheets.

  • Notes about the Cheatsheet items:

    • The descriptions and comments are just quick notes and may not represent the documentation. Always refer to the man pages and online documentation for a proper understanding.
    • Some commands may need sudo. The repetitively writing of sudo was avoided (you will be prompted for special permissions if needed).
  • Following the content order is not a strict requirement, but it will help.

  • The last blog post is dedicated to present more exercises and exam simulations.

Index of RHCSA Objectives

The following index lists the Red Hat Certified System Administration Exam Objectives as of October 2021.

Each section title is a link to the post dedicated to the section content:


  • Access a shell prompt and issue commands with correct syntax
  • Use input-output redirection (>, », |, 2>, etc.)
  • Use grep and regular expressions to analyze text
  • Access remote systems using SSH
  • Log in and switch users in multiuser targets
  • Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2
  • Create and edit text files
  • Create, delete, copy, and move files and directories
  • Create hard and soft links
  • List, set, and change standard ugo/rwx permissions
  • Locate, read, and use system documentation including man, info, and files in /usr/share/doc


  • Conditionally execute code (use of: if, test, [], etc.)
  • Use Looping constructs (for, etc.) to process file, command line input
  • Process script inputs ($1, $2, etc.)
  • Processing output of shell commands within a script
  • Processing shell command exit codes


  • Boot, reboot, and shut down a system normally
  • Boot systems into different targets manually
  • Interrupt the boot process in order to gain access to a system
  • Identify CPU/memory intensive processes and kill processes
  • Adjust process scheduling
  • Manage tuning profiles
  • Locate and interpret system log files and journals
  • Preserve system journals
  • Start, stop, and check the status of network services
  • Securely transfer files between systems


  • List, create, delete partitions on MBR and GPT disks
  • Create and remove physical volumes
  • Assign physical volumes to volume groups
  • Create and delete logical volumes
  • Configure systems to mount file systems at boot by universally unique ID (UUID) or label
  • Add new partitions and logical volumes, and swap to a system non-destructively


  • Create, mount, unmount, and use vfat, ext4, and xfs file systems
  • Mount and unmount network file systems using NFS
  • Extend existing logical volumes
  • Create and configure set-GID directories for collaboration
  • Configure disk compression
  • Manage layered storage
  • Diagnose and correct file permission problems


  • Schedule tasks using at and cron
  • Start and stop services and configure services to start automatically at boot
  • Configure systems to boot into a specific target automatically
  • Configure time service clients
  • Install and update software packages from Red Hat Network, a remote repository, or from the local file system
  • Work with package module streams
  • Modify the system bootloader


  • Configure IPv4 and IPv6 addresses
  • Configure hostname resolution
  • Configure network services to start automatically at boot
  • Restrict network access using firewall-cmd/firewall


  • Create, delete, and modify local user accounts
  • Change passwords and adjust password aging for local user accounts
  • Create, delete, and modify local groups and group memberships
  • Configure superuser access


  • Configure firewall settings using firewall-cmd/firewalld
  • Create and use file access control lists
  • Configure key-based authentication for SSH
  • Set enforcing and permissive modes for SELinux
  • List and identify SELinux file and process context
  • Restore default file contexts
  • Use boolean settings to modify system SELinux settings
  • Diagnose and address routine SELinux policy violations


  • Find and retrieve container images from a remote registry
  • Inspect container images
  • Perform container management using commands such as podman and skopeo
  • Perform basic container management such as running, starting, stopping, and listing running containers
  • Run a service inside a container
  • Configure a container to start automatically as a systemd service
  • Attach persistent storage to a container

šŸ“Œ EXERCICES AND PRACTICE EXAM (To be delivered in feb/2022)


  • Follow me on Twitter to get more posts like this and other quick tips in your feed.
  • If you have any doubts or tips about this article, Iā€™d appreciate knowing and discussing it via email.
  • Do you have any other Linux tips? Would you like to publish that in this blog? Please send an email to all drops.
  • As English is not my native language, I apologize for the errors. Corrections are welcome.
  • Contact: contact [@] alldrops [.] info.

Read more on linux drops: