Linux & Systems ~30 min read

Red Hat Enterprise Linux 9 Administration — RHCSA Preparation

A structured walkthrough of the core Linux administration topics covered in the RHCSA exam: users, permissions, systemd services, networking, storage management, and SELinux.

Overview Prerequisites System map Tutorial Key learnings Resources

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

RHEL 9 or Rocky Linux 9 VM Basic command line familiarity VirtualBox or VMware installed SSH client

System map

Users
/etc/passwd
+
/etc/shadow
+
/etc/group
Services
systemd
manages
unit files (.service)
+
targets (runlevels)
Storage
Physical volumes (PV)
Volume groups (VG)
Logical volumes (LV)
Mount points
SELinux
Contexts (labels)
enforced by
Policies
audited in
/var/log/audit

Tutorial steps

1

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
2

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
3

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
4

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
5

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
6

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

Key learnings

systemctl enable starts a service at boot — systemctl start only starts it now. Use --now to do both at once.
Always add mounts to /etc/fstab for persistence, then run mount -a to verify the syntax is correct before rebooting.
XFS filesystems can be grown online but cannot be shrunk — plan your storage sizing carefully.
SELinux context issues are the most common cause of mysterious permission denials. Check ausearch -m avc before assuming file permissions are the problem.
In the RHCSA exam, practice typing commands fast and accurately — you are graded on the final system state, not how you got there.

Resources