Overview
The Red Hat Certified System Administrator (RHCSA) certification validates your ability to perform core Linux system administration tasks in a Red Hat Enterprise Linux environment. It is a practical, hands-on exam — there are no multiple choice questions, only tasks performed on a live system.
This guide is a condensed reference of the key domains: user and group management, file permissions, managing services with systemd, configuring networking, managing storage, and working with SELinux. Each section includes the commands you need to know and common exam scenarios.
Prerequisites
System map
Tutorial steps
User and group management
Create users, set passwords, manage supplementary groups, and configure sudo access. The RHCSA exam frequently tests creating users with specific UIDs and assigning them to groups.
# Create user with specific UID and home directory
useradd -u 1050 -m -s /bin/bash john
# Set password
echo "SecurePass123!" | passwd --stdin john
# Create group and add user
groupadd devteam
usermod -aG devteam john
# Grant sudo access
visudo # add: john ALL=(ALL) NOPASSWD:ALL
# Or: usermod -aG wheel john
File permissions and ownership
Understand octal permissions, special bits (SUID, SGID, sticky), and ACLs. The setgid bit on a directory is a common exam scenario — files created inside inherit the directory's group.
# Set permissions with octal notation
chmod 750 /opt/project # rwxr-x---
chown john:devteam /opt/project
# Set SGID on directory (new files inherit group)
chmod g+s /opt/shared
# Set sticky bit (only owner can delete)
chmod +t /tmp/shared
# Access Control Lists (ACLs)
setfacl -m u:jane:rwx /opt/project # grant jane rwx
getfacl /opt/project # view ACLs
Managing services with systemd
Start, stop, enable, disable, and troubleshoot services. Know the difference between start (immediate) and enable (survives reboot). Use journalctl to diagnose failures.
# Start and enable a service
systemctl start httpd
systemctl enable httpd
systemctl enable --now httpd # start + enable in one command
# Check status and logs
systemctl status httpd
journalctl -u httpd -n 50 --no-pager
# Change default target (runlevel)
systemctl get-default
systemctl set-default multi-user.target # no GUI
systemctl isolate graphical.target # switch now
Networking configuration
Configure static IP addresses using nmcli or nmtui. Know how to set hostname, configure DNS, and troubleshoot connectivity. NetworkManager is the standard in RHEL 9.
# Show current connections
nmcli connection show
# Configure static IP
nmcli connection modify "ens33" \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8
nmcli connection up "ens33"
# Set hostname
hostnamectl set-hostname rhel9-lab.local
# Test connectivity
ping -c 3 8.8.8.8
ss -tlnp # show listening ports
Logical Volume Management (LVM)
Create and extend logical volumes. The RHCSA exam commonly asks you to extend an existing LV and resize the filesystem without data loss.
# Create LVM stack
pvcreate /dev/sdb
vgcreate datavg /dev/sdb
lvcreate -L 5G -n datalv datavg
mkfs.xfs /dev/datavg/datalv
# Mount persistently (add to /etc/fstab)
mkdir /data
echo "/dev/datavg/datalv /data xfs defaults 0 0" >> /etc/fstab
mount -a
# Extend LV and resize filesystem
lvextend -L +2G /dev/datavg/datalv
xfs_growfs /data # XFS can grow while mounted
SELinux fundamentals
Understand SELinux modes, manage file contexts, and use audit2allow to diagnose denials. Never disable SELinux in the exam — troubleshoot it instead.
# Check SELinux status
getenforce # Enforcing / Permissive / Disabled
sestatus
# Change mode (temporary)
setenforce 0 # Permissive (for debugging)
setenforce 1 # Enforcing
# Fix file context after moving files
restorecon -Rv /var/www/html/
# Set custom context
semanage fcontext -a -t httpd_sys_content_t "/mywebroot(/.*)?"
restorecon -Rv /mywebroot
# Read audit denials
ausearch -m avc -ts recent
audit2why < /var/log/audit/audit.log