RHCSA practice exam 2
A timed, hands-on practice exam.
Level 301 · 20 lessons · 18 practice labs
Lessons
Task sets
- Task set A: software and processes: In the first part of the second practice exam, you solve software and process management tasks under time pressure.
- Task set B: storage and LVM: In the second part of the second practice exam, you solve and verify storage and LVM tasks under time pressure.
- Task set C: networking, the firewall and SELinux: In the last part of the second practice exam, you solve networking, firewall and SELinux tasks under time pressure.
- Short task: redo your hardest task set against the clock
Scenarios: scripts, permissions and performance
- Scenario: repairing a script folder with broken permissions: You will find the ownership and permission fault in scripts that will not run and fix it with least privilege.
- Scenario: a report script that summarises log lines with a loop: You will write a script from scratch that reports the number of errors in a log file using a loop and a condition.
- Scenario: a shared directory and group permissions for a design team: You will build a directory with setgid and umask where team members edit each other’s files but outsiders cannot.
- Scenario: fixing a missing repository and a broken package transaction: You will find why an install failed and repair the repository definition and the transaction state.
- Scenario: relieving a slow server with tuned and nice: You will find the resource-hungry process, lower its priority, and choose a suitable tuned profile.
- Scenario: a systemd timer that cleans temporary files: You will write a service and timer unit and confirm through the journal that the clean-up runs regularly.
- Short task: fix a slow server with a broken package in one go
Scenarios: disks, networking and containers
- Scenario: mounting ext4 and VFAT disks persistently by UUID: You will add two different file systems to fstab by their blkid UUIDs and verify they mount.
- Scenario: repairing a disk that will not mount because of an fstab error: You will find and fix the faulty line and recover the mount without dropping into emergency mode.
- Scenario: growing a logical volume to regain capacity: You will find free space in the volume group and extend the logical volume and file system without downtime.
- Scenario: bringing a dropped interface back with nmcli: You will correct the address and gateway fault in a connection profile with nmcli and test access.
- Scenario: a SELinux denial for a service on a nonstandard port: You will read the denial and add the port label with semanage so the service works under both firewall and SELinux.
- Scenario: running a containerised app with persistent storage and automatic start: You will attach a persistent volume with Podman and make the app start at boot as a systemd user service.
- Short task: repair a mount that breaks the boot and a container service
Review and final
- Review and closing the gaps: You will review the mistakes and skipped tasks from the practice, identify the weak topics and draw up a plan to close them.
- Capstone: a timed 2.5-hour full mock exam
Practice labs
- Write a script that checks its argument: You write a short shell script that exits with an error code if the given directory is missing and otherwise prints its file count.
- A script that creates listed users in a loop: You write a script that reads names from a file, creates the users that don't exist, skips those that do and reports the result.
- Write a threshold script that scans file systems: You prepare a script that walks all mounted file systems, logs those above 80 per cent to the system log and signals status by exit code.
- Fix permissions with symbolic notation: You apply symbolic chmod to a project directory so the owner has full, the group read and others no access.
- Put group inheritance and the sticky bit on a warehouse team directory: For Ardıç Lojistik's warehouse team you set up a shared directory where new files belong to the group and only the owner can delete them.
- Give two teams different access with ACLs: On one directory you set default ACLs giving one group write, another read-only and one user no access, and test them.
- Find and stop the process eating the CPU: You find the process using the most CPU with top and stop it politely first, by force if needed.
- Lower a batch report job's priority: You raise the nice value of a running report job that slows interactive users and start new copies at low priority.
- Manage stopped and hung processes with signals: You list one user's processes by state, resume the stopped one, end two hung ones and restart a job detached from the session.
- Enable a ready-made timer: You enable an installed but inactive systemd timer and list its next run time.
- Write a service and timer for a daily report: You write a service unit and timer producing a disk usage report daily at 06:30 and verify the output by triggering it manually.
- Repair a timer that never fires: You diagnose with systemd-analyze a timer broken by a bad calendar expression and a missing unit name and fix it to catch up missed runs.
- Assign a static address with nmcli: You give a connection profile a static IPv4 address, gateway and DNS with nmcli and reactivate the profile.
- Add a second address and IPv6 to one profile: You add a second IPv4 address and a static IPv6 address to an existing profile and verify all three persist after a reboot.
- Untangle two conflicting NetworkManager profiles: You find the wrong-address problem caused by two auto-connecting profiles on one interface, remove the stale one and make the right profile permanent.
- List the SELinux ports a service may use: With semanage you list the port labels defined for SSH and web services and find which type a port belongs to.
- Move SSH to port 2222 and tell SELinux: You move sshd to port 2222, label the port in SELinux, open it in firewalld and prove you can log in on the new port.
- Solve in SELinux a reverse proxy that cannot reach its back end: You find from the audit log the boolean and port label stopping a reverse-proxying web server reaching its back-end port and fix them persistently.
About this course
A timed, hands-on practice exam.
What you will learn
- Task sets
- Scenarios: scripts, permissions and performance
- Scenarios: disks, networking and containers
- Review and final
Prerequisites
You should be comfortable with the level 101 and 201 topics of the same path.
Lab environment
Lessons run in your own Kali Linux terminal in the browser, connected to a private lab network. Nothing to install.
Frequently asked questions
- Is this course right for my level?
- The course is at level 301; it assumes you know the topics of the lower-level courses.
- Is there anything to install?
- No. Every lesson runs in your own lab environment that opens in the browser.
- How do lessons work?
- Each lesson has 8 to 10 steps and a short quiz. Early steps show the command to type, later steps give less help; if two attempts fail, the solution opens.
- Can I try it for free?
- Yes. The first three lessons of every course are free.