RHCSA study plan
RHCSA · Give each week a clear focus.
8 weeks · About 7 hours per week
Understand and use essential tools
Navigate the filesystem and locate files using find with -name, -type, -size, and -mtime filters
Create, copy, move, and delete files and directories, then inspect and modify ownership and permissions with ls -l, chmod, and chown
Search text recursively with grep using regular expressions and pipe results through sort, uniq, wc, head, and tail
Edit files in vim using insert and normal modes, search-and-replace, and write-quit commands
Create and extract tar archives with gzip and bzip2 compression and list contents with tar -tf
Your checkpoint
A saved typescript log of one working session that exercises find, grep, tar, and vim against a directory tree you built yourself, plus a one-page reference of the 20 flags you used most.
Understand and use essential tools & Manage software
Chain at least three commands into one pipeline using redirection, pipes, and command substitution, sending both stdout and stderr to separate files
Install, remove, and query packages with dnf and enable or disable a repository
Install and remove a package group and inspect package metadata with rpm -qi and dnf info
Create a local dnf repository configuration pointing at a directory of RPM files and install a package from it
Create a soft link and a hard link and verify the inode and link-count difference with ls -li
Your checkpoint
A working local RPM repository on the machine, plus a written record of installing a package from it, removing it, and reinstalling the same package from the standard repositories.
Configure local storage
Partition a spare disk with fdisk and parted and print the resulting table with lsblk and parted print
Create LVM physical volumes, a volume group, and a logical volume, then extend the logical volume and grow its filesystem online
Add a swap file, activate it with swapon, and persist it in /etc/fstab
Mount a partition by UUID through /etc/fstab and confirm with mount -a and findmnt
Your checkpoint
A spare disk with two partitions, one of them an LVM volume extended by at least 200 MB, plus an active swap file, all mounting correctly and surviving a reboot.
Create and configure file systems
Create ext4 and xfs filesystems with mkfs, mount them, and apply and verify labels with e2label and xfs_admin
Set and verify ownership, mode bits, and special bits including setgid on a shared directory and the sticky bit on a scratch directory
Configure a POSIX ACL with setfacl and getfacl, including a default ACL that new files inherit
Diagnose and repair a deliberately broken /etc/fstab entry using mount -a errors and systemd journal messages
Run fsck on an unmounted device to check and repair consistency
Your checkpoint
A shared directory carrying setgid plus a default ACL that grants read and write to a second user, backed by an fstab that mounts every entry cleanly after a reboot.
Operate running systems & Create simple shell scripts
Start, stop, enable, disable, and mask systemd units and inspect their state with systemctl status
Switch the default target and boot into rescue or emergency mode to recover from a failed service
Read the journal with journalctl filtered by unit, priority, and time range, and enable persistent journal storage
Write a bash script that accepts positional arguments, branches with if and case, and loops over a file list
Add exit-code handling to a script and schedule it with a cron entry or a systemd timer
Your checkpoint
An executable bash script with a shebang, argument validation, and a loop that runs on a schedule and appends timestamped output to a log file you can show.
Manage users and groups & Create simple shell scripts
Create users with useradd, set passwords with passwd, and set comment, shell, and expiry fields with usermod and chage
Create groups, add users to supplementary groups, and verify membership with id and groups
Grant sudo rights by dropping a validated file into /etc/sudoers.d with visudo -c
Lock, unlock, and expire accounts and confirm the effect on login
Automate bulk account creation by reading a CSV with a bash while-read loop
Your checkpoint
A script that reads a CSV of username, group, and expiry date and creates or updates accounts idempotently; run it twice and show that the second run makes no changes.
Deploy, configure, and maintain systems (includes Manage basic networking) & Manage security
Configure a static IPv4 address, gateway, and DNS server with nmcli and verify with ip addr and nmcli connection show
Add a host entry to /etc/hosts and confirm resolution with getent hosts and ping
Set the hostname persistently with hostnamectl and the timezone with timedatectl
Enable firewalld, open a service permanently, and confirm the active ruleset with firewall-cmd --list-all
Switch SELinux modes with getenforce and setenforce and correct a file context using semanage fcontext plus restorecon
Your checkpoint
A host with a static address set through nmcli, firewalld permitting only the intended service, and SELinux enforcing with correct contexts on a directory moved away from its default location.
Manage security & Deploy, configure, and maintain systems (includes Manage basic networking) & Understand and use essential tools
Reset a lost root password through the rd.break boot method and relabel the filesystem afterward
Harden sshd by enabling key-based login and disabling direct root login, then restart and verify
Run one timed end-to-end scenario from a blank virtual machine and grade it against your own checklist
Re-drill the two weakest objectives the timed run exposed until each is completed twice without notes
Your checkpoint
A scored timed practice run with a written list of every task you failed and the exact command sequence that fixes each one.
Milestones
Week 2: Without notes, install a package from a local repo you configured yourself and explain how dnf resolved it.
Week 4: Starting from a clean virtual machine, partition a spare disk, build LVM, format and mount it persistently by UUID, and reboot into a working system in under 25 minutes.
Week 6: Explain and demonstrate the difference between a user's primary group, supplementary groups, and sudo policy, then create a working account matching a written spec in under 5 minutes.
Week 8: Complete a full timed practice scenario on a blank VM and score at least 80 percent against your checklist, with no repeated failure on the same objective.