RHCSA Exam Guide — Red Hat Certified System Administrator (EX200)
RHCSA — Red Hat Certified System Administrator Guide
The RHCSA (EX200) is the premier Linux system administration certification for Red Hat Enterprise Linux (RHEL). It's a 100% hands-on, performance-based exam that tests real-world Linux administration skills.
Exam Overview
| Detail | Value |
|---|---|
| Exam Code | EX200 |
| Provider | Red Hat |
| Format | 100% hands-on (no multiple choice) |
| Length | 2.5 hours |
| Passing Score | 70%+ (based on automated scoring) |
| Validity | 3 years |
| Price | ~$400 USD |
| Prerequisites | None — Linux experience recommended |
Domain Breakdown
| Domain | Weight |
|---|---|
| Understand and Use Essential Tools | 23% |
| Operate Running Systems | 14% |
| Configure Local Storage | 14% |
| Create and Configure Filesystems | 12% |
| Deploy, Configure, and Maintain Systems | 19% |
| Basic Networking | 12% |
| Manage Users and Groups | 5% |
| Manage Security | 14% |
| Manage Containers | 17% |
(Note: Categories overlap; Red Hat does not publish exact domain weights — this is based on the current EX200 objectives)
Domain Deep Dives
1. Understand and Use Essential Tools
Shell and Command Line
- Bash shell — history, tab completion, command chaining (;, &&, ||)
- Input/Output redirection —
>,>>,<,2>,&>,|,tee - Globbing —
*,?,[abc],[!abc],{a,b,c}
Documentation
manandinfopages — Searching with/,man -k/usr/share/doc/— Package-specific documentation--helpflag
Text Processing
grep,egrep,fgrep— Searching with regexsed— Stream editor (substitution, deletion, insertion)awk— Text processing and reportingcut,sort,uniq,wc,tr,paste,diff,vimdiff
vim
- Modes — Normal, Insert, Visual, Command-line
- Navigation (h,j,k,l, w, b, 0, $, G, :42)
- Editing (i, a, o, x, dd, yy, p, u, Ctrl+r)
- Search and replace (
:s/old/new/g)
Archives and Compression
tar— Create (-cvf), extract (-xvf), list (-tvf)gzip,bzip2,xz— Compression and decompressionstar,cpio
2. Operate Running Systems
Boot Process
- BIOS/UEFI → Boot loader (GRUB2) → Kernel → initramfs → systemd
- GRUB2 configuration —
/boot/grub2/grub.cfg(don't edit directly),/etc/default/grub,grub2-mkconfig - Boot parameters —
rd.break(emergency mode),systemd.unit=rescue.target systemctl—list-units,list-unit-files,start,stop,restart,enable,disable,status,isolate
systemd Targets
poweroff.target,rescue.target,multi-user.target,graphical.target,reboot.target- Default target —
systemctl get-default,systemctl set-default - Emergency mode vs Rescue mode — Rescue (basic system, some services), Emergency (bare minimal)
Process Management
ps—ps aux,ps -ef,ps -eo pid,ppid,cmd,%mem,%cputop/htop— Interactive process monitoringkill,killall,pkill— Signals (SIGTERM=15, SIGKILL=9, SIGHUP=1, SIGINT=2)nice,renice— Process priority (-20 to 19)jobs,fg,bg,nohup,screen,tmux
Scheduling
at— One-time scheduled tasks (at now + 2 hours,atq,atrm)cron— Recurring tasks (crontab -e,/etc/crontab,/etc/cron.d/)systemd timers— Modern replacement for cron (.timer+.serviceunits)
Logging
journalctl— View systemd journal (-u,-f,--since,--until,-p)rsyslog—/etc/rsyslog.conf,/etc/rsyslog.d/, log rotation (logrotate)/var/log/—messages,secure,boot.log,maillog,cron
3. Configure Local Storage
Disk Partitioning
fdisk— MBR partitioning (2TB max)gdisk— GPT partitioning (larger disks)parted— Both MBR and GPT, scriptablelsblk,blkid— View block devices and UUIDs
LVM (Logical Volume Manager)
- PV → VG → LV chain
pvcreate,pvdisplay,pvremovevgcreate,vgextend,vgreduce,vgdisplaylvcreate,lvextend,lvreduce,lvdisplay,lvremove- Resizing —
lvextend -L +10G /dev/vg/lv+resize2fsorxfs_growfs - Thin provisioning —
lvcreate --type thin-pool,--type thin
Stratis (New)
- Pool-based storage management, similar to ZFS/Btrfs
stratis pool create,stratis filesystem create,stratis snapshot
VDO (Virtual Data Optimizer)
- Deduplication + compression for storage
vdo create --name=vdo1 --device=/dev/sdb --vdoLogicalSize=500G
4. Create and Configure Filesystems
Filesystem Types
ext4— Journaling, max 16TB file, 1EB volume (default for many distros)XFS— High-performance, max 8EB file, good for large files (RHEL default)ext3,ext2— Legacymkfs.ext4,mkfs.xfs,mkfs -t ext4
Mounting
mount,umount— Temporary mounts/etc/fstab— Persistent mounts (device, mount point, fs type, options, dump, fsck order)- Mount options —
defaults,noatime,noexec,nosuid,ro,rw findmnt,mount -a— Mount all fstab entries
Swap
- Swap partition —
mkswap,swapon,swapoff - Swap file —
dd if=/dev/zero of=/swapfile bs=1M count=4096,mkswap,swapon
Filesystem Features
tune2fs— Adjust ext4 parameters (reserved blocks, check interval)xfs_admin— XFS parameters (label, UUID)fsck,e2fsck,xfs_repair— Check and repair filesystems
5. Deploy, Configure, and Maintain Systems
Package Management (RHEL 8/9)
- RPM —
rpm -ivh,-Uvh,-e,-qa,-qf,-ql,-qi,-V - DNF —
dnf install,remove,update,search,info,groupinstall,repolist,history - YUM — Legacy (symlink to dnf), still works
- Repositories —
/etc/yum.repos.d/*.repo
Kernel Management
uname -r— Current kernel versiondnf update kernel— Install new kernel (boots into new version, keeps old)/boot/— vmlinuz, initramfs, System.mapdracut— Build initramfs (initramfs-<version>.img)
System Updates
dnf update— Update all packagesdnf upgrade— Similar to update (handles obsolete packages)dnf check-update— List available updates without installing
6. Basic Networking
Network Configuration
nmcli— NetworkManager CLI (nmcli dev status,nmcli con show,nmcli con add/up/down)nmtui— Text-based network configuration UI/etc/sysconfig/network-scripts/— Legacy (still supported)ip addr,ip link,ip route,ip neigh— IP commands (replaces ifconfig)ss -tulpn— Socket statistics (replaces netstat)
Hostname and DNS
hostnamectl set-hostname— Set system hostname/etc/hosts— Static hostname resolution/etc/resolv.conf— DNS nameservers (managed by NetworkManager)systemd-resolved— Modern DNS resolver
Network Bonding
nmcli con add type bond— Link aggregation- Modes —
active-backup,balance-rr,balance-xor,802.3ad(LACP) - Bond slaves —
nmcli con add type ethernet slave-type bond con-name bond-slave-1 ifname eth1 master bond0
Firewall
firewalld— Dynamic firewall managementfirewall-cmd—--add-service,--add-port,--add-source,--permanent,--zone- Default zones —
public,internal,trusted,dmz,drop,block
7. Manage Users and Groups
User Management
/etc/passwd— User accounts (login:x:UID:GID:comment:home:shell)/etc/shadow— Hashed passwords, expiration info/etc/group— Group definitionsuseradd,usermod,userdelgroupadd,groupmod,groupdelpasswd,chage,chpasswd
Default Files
/etc/default/useradd— Default values for new users/etc/login.defs— Password aging, UID/GID ranges/etc/skel/— Template files for new home directories
Privilege Escalation
su— Switch user (requires target user's password)sudo— Execute commands as another user (configured in/etc/sudoers)/etc/sudoers.d/— Drop-in configuration filesvisudo— Safe editing of sudoers file
8. Manage Security
SELinux
- Context-based security — Every process and file has a security context
- Modes —
enforcing(default),permissive(log only),disabled getenforce,setenforce 0|1,sestatus/etc/selinux/config— Permanent mode configurationls -Z,ps -Z— View contextschcon,restorecon,semanage fcontext— Manage contextssealert— Analyze denials,ausearch -m avc— Search audit logs- Booleans —
getsebool,setsebool,semanage boolean
SSH Security
/etc/ssh/sshd_config—PermitRootLogin,PasswordAuthentication,PubkeyAuthentication,Port- Key-based authentication —
ssh-keygen,ssh-copy-id,~/.ssh/authorized_keys sshd -t— Test configuration before restarting
Access Control
- File permissions —
chmod(u/g/o/a, r/w/x, 755, 644),chown,chgrp - Special permissions — SUID (4xxx), SGID (2xxx), Sticky bit (1xxx)
umask— Default permission mask- ACLs —
getfacl,setfacl -m u:user:rwx file
9. Manage Containers (17% — New in RHEL 9)
Podman
- Daemonless container engine (no Docker daemon needed)
podman run,podman pull,podman ps,podman images,podman rm,podman rmipodman exec,podman logs,podman inspect- Rootless containers (run as non-root user)
Container Images
podman search,podman pull— from registries (registry.access.redhat.com, docker.io, quay.io)Containerfile/Dockerfile— Build custom imagesFROM,RUN,COPY,ADD,CMD,ENTRYPOINT,EXPOSE,ENV,USERpodman build -t my-image .
Systemd Integration
podman generate systemd— Generate systemd unit files for containerspodman run --restart=always— Auto-restart container
Container Storage
- Volumes —
podman volume create,podman run -v - Mounts —
--mount type=bind,src=/host,dst=/container - Rootless storage —
~/.local/share/containers/storage/
Skopeo and Buildah
skopeo inspect— Inspect remote images without pullingbuildah bud— Alternative build tool
Essential RHEL Commands
# System
hostnamectl status
timedatectl list-timezones
localectl list-locales
# Storage
lsblk -f
df -hT
du -sh /var/
# LVM
pvcreate /dev/sdb
vgcreate vg_data /dev/sdb
lvcreate -n lv_data -L 50G vg_data
mkfs.xfs /dev/vg_data/lv_data
# Containers
podman pull registry.access.redhat.com/ubi9/ubi
podman run -d --name web -p 8080:80 nginx
podman exec -it web /bin/bash
# SELinux
ls -Z /var/www/html
restorecon -Rv /var/www/html
semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
# Networking
nmcli con add type ethernet ifname eth0 con-name static-eth0 ipv4.address 192.168.1.100/24
firewall-cmd --add-service=http --permanent
Study Tips
- Practice, practice, practice — This is a performance-based exam. You must know the commands by heart
- Use VMs — Install RHEL 9 in a VM and practice all objectives repeatedly
- Master LVM — Creating, extending, reducing logical volumes is frequently tested
- Know SELinux — Context management, booleans, troubleshooting denials are common
- Understand containers with Podman — New to RHCSA, heavily tested in RHEL 9
- Time management — 2.5 hours for ~15–20 tasks. Skip hard ones and come back
- Read tasks carefully — Understand exactly what's being asked (reboot persistence matters!)
- Know systemd — Managing services, targets, timers, and the boot process
Practice Questions
Test your knowledge with our RHCSA practice questions — 50+ hands-on style questions covering all exam objectives.
Career Impact
RHCSA is the standard for Linux administration:
- Linux Administrator — $70k–$100k
- Systems Administrator — $75k–$105k
- DevOps Engineer — $100k–$140k
- Cloud Administrator — $85k–$120k
Next: RHCE (Red Hat Certified Engineer — Ansible Automation)
Related Articles
Bereit, dein Wissen zu testen?
Probiere unsere Übungsprüfungen mit Hunderten von realistischen Fragen aus.
Üben starten →