Red HatRHCSAFree

EX200 Red Hat Certified System Administrator (RHCSA) Free Practice Test — 30 Questions

This practice bank exercises fundamental RHCSA competencies including user and group administration, file permissions with setgid and ACLs, SELinux context troubleshooting, systemd service dependency management, process prioritization using nice/renice, and virtual machine resource allocation via libvirt. It also tests behavioral skills such as adaptability, systematic troubleshooting, and change management. The questions require applying command-line tools (chmod, chown, restorecon, systemctl, renice) in realistic scenarios, interpreting SELinux denials, configuring shared directories, and diagnosing service failures through log analysis and monitoring. Focus on practical command usage and understanding underlying concepts rather than memorizing isolated facts.

30
practice questions
20
recall cards
30
explanations
0
sign-ups required
Exam-focused analysis

What this RHCSA practice set measures

This is an analysis of the practice bank, not a claim about the vendor's live exam blueprint. Use it to identify the knowledge, judgment, and recall patterns exercised here, then verify your coverage against the current official exam guide.

User and Group Management with Permissions

Effective user and group management is central to RHCSA. The practice bank emphasizes creating groups, assigning users, and setting appropriate permissions using chmod, chown, and ACLs. Scenarios involve granting collaborative access via setgid (chmod g+s) to ensure new files inherit group ownership, and using sticky bit or ACLs to restrict write access. Understanding the principle of least privilege is tested through multi-user directories and sensitive file protection.

  • Use chown to set owner and group; chmod with numeric or symbolic modes for permissions.
  • Set setgid bit (2770) on shared directories so new files inherit group ownership.
  • Apply ACLs with setfacl for granular access beyond standard permissions.
  • Verify group membership with groups command and manage via usermod or gpasswd.

SELinux Context Troubleshooting

SELinux is a key security layer in RHEL. The practice bank tests the ability to identify incorrect file contexts causing 'Permission denied' errors even when standard permissions are correct. The restorecon command is the standard fix: it resets contexts to the default policy based on file location. Questions emphasize that restorecon -Rv recursively corrects contexts for directories like /etc/httpd/conf.d or /mnt/database_storage.

  • Use ls -Z to view current SELinux context of files and processes.
  • restorecon -Rv /path resets contexts recursively; use semanage fcontext to define custom contexts.
  • SELinux denial logs appear in /var/log/audit/audit.log; use ausearch or sealert for analysis.
  • Temporary workaround (setenforce 0) is not a production solution; proper context correction is required.

Systemd Service Dependency Management

Understanding systemd unit dependencies is crucial. The practice bank distinguishes between Requires (hard dependency: failure stops dependent) and Wants (soft dependency: failure doesn't stop). The After directive orders startup but does not enforce success. Questions test scenarios where network-online.target fails, causing Requires-dependent services to fail, while Wants-dependent services start but may not function. Proper ordering ensures services like my-custom-app wait until network is fully online.

  • Requires= creates a hard dependency; if the required unit fails, the dependent unit is stopped.
  • Wants= is weaker; it starts the wanted unit but continues even if it fails.
  • After= sets ordering; the service starts after the target but does not require its success.
  • Use systemctl list-dependencies to visualize dependency tree.
  • For network readiness, use 'After=network-online.target' with 'Wants=NetworkManager.service'.

Process Prioritization and Resource Monitoring

Managing CPU allocation via nice/renice is a core skill. The practice bank tests the concept that lower nice values (-20 to 0) indicate higher priority, while positive values lower priority. renice -n -10 increases a process's priority. For monitoring, tools like sar, top, and iostat help diagnose intermittent performance issues. Questions involve adjusting kernel parameters (net.core.somaxconn) for network spikes and using rsync for live data migration with minimal downtime.

  • renice -n -10 -p <PID> increases priority; only root can set negative nice values.
  • Use top or ps -eo pid,nice,cmd to view current nice values.
  • sar -n DEV captures network statistics; use sar -u for CPU and sar -r for memory.
  • For live migrations, rsync with --inplace and --delete ensures data consistency.
  • Temporary kernel parameter changes with sysctl -w; persist in /etc/sysctl.conf.
Active recall deck

Practice EX200 Red Hat Certified System Administrator (RHCSA) with real flashcards

Read the prompt, commit to an answer, then flip the card. Move through the deck at your own pace and repeat any topic that does not come back quickly.

20 free cards

Card 1 of 20

1 reviewed this session

Static practice bank

Start the 30-question diagnostic

The complete question bank is embedded in this pre-rendered page. There is no database request or second content download when you begin.

Question 1 of 30

Anya, a system administrator for a small startup running Red Hat Enterprise Linux, is tasked with managing user access. The company\'s product roadmap has just undergone a significant pivot, requiring several temporary development team members to have elevated access to specific project directories for a critical, short-term phase. Simultaneously, the company has announced a temporary hiring freeze, meaning Anya has fewer resources to dedicate to complex scripting or custom policy development for this period. She needs to ensure that these temporary users have the necessary permissions while maintaining overall system security and minimizing the risk of unauthorized access once their task is complete.

Which of the following strategies best reflects Anya\'s need to adapt to changing priorities and resource limitations while ensuring effective and secure user access management in this dynamic environment?

1 correct answers

Study workflow

Turn one RHCSA attempt into a study plan

  1. 1

    Configure a Shared Directory with setgid

    Create the directory (mkdir -p /srv/projects/alpha). Set group ownership: chown :developers /srv/projects/alpha. Apply setgid and permissions: chmod 2770 /srv/projects/alpha. Verify with ls -ld: the permissions show 'rwxrws---' and group is developers. Test by adding a user to the group (usermod -aG developers user1) and creating a file; it should inherit group developers.

  2. 2

    Fix SELinux Context for a Web Server Directory

    Identify the directory with wrong context, e.g., /etc/httpd/conf.d. Check current context: ls -Z /etc/httpd/conf.d. Reset recursively: restorecon -Rv /etc/httpd/conf.d. Verify with ls -Z again; files should show httpd_config_t or similar. If the problem persists, check /var/log/audit/audit.log for denials and use semanage fcontext to set default context for custom directories.

  3. 3

    Ensure a systemd Service Starts After Network is Online

    Edit the service unit file (e.g., my-custom-app.service) with systemctl edit my-custom-app.service or directly in /etc/systemd/system. Add: [Unit] Requires=NetworkManager.service After=network-online.target. Then run systemctl daemon-reload and systemctl enable my-custom-app.service. Verify with systemctl list-dependencies my-custom-app.service. Test by rebooting; the service should start only after network is fully configured.

  4. 4

    Increase Priority of a Long-Running Process

    Find the process ID (PID) of the service, e.g., using pgrep data_aggregator. Check current nice value: ps -o pid,nice,cmd -p <PID>. Increase priority with renice -n -10 -p <PID> (requires root). Verify with ps. To make permanent, modify the service's systemd unit: add Nice=-10 under [Service] and reload. Monitor CPU allocation using top or htop.

  5. 5

    Migrate Application Data to New Storage with Minimal Downtime

    Mount new storage at /mnt/new_volume. Use rsync for initial sync: rsync -avz --delete /original/data/ /mnt/new_volume/. Redirect application services to new path via configuration changes or symlink. Perform final sync (with application briefly paused): rsync -avz --delete --inplace /original/data/ /mnt/new_volume/. Update systemd service dependencies if needed, then restart services. Validate data integrity and remove old storage.

FAQ

Questions about this RHCSA practice page

Clear boundaries on what the bank covers, how to use it, and where official vendor information still matters.

What is the difference between `Requires` and `Wants` in systemd unit files?+

`Requires` creates a hard dependency: if the required unit fails to start, the dependent unit will also fail or be stopped. `Wants` is a softer dependency: the wanted unit is started but if it fails, the dependent unit continues. Both can be combined with `After` to control ordering.

How do I reset SELinux contexts recursively for a directory?+

Use the `restorecon -Rv` command followed by the directory path. For example, `restorecon -Rv /var/www/html` resets contexts for all files and subdirectories to match the default policy. This fixes 'Permission denied' errors caused by incorrect SELinux labels after file moves or restores.

What does the setgid bit do when applied to a directory?+

When setgid (chmod g+s) is set on a directory, any new file or subdirectory created inside inherits the group ownership of the parent directory rather than the primary group of the creating user. This is essential for collaborative environments where multiple users need shared access.

How can I temporarily increase network connection limits for a web server?+

Use `sysctl` to adjust kernel parameters like `net.core.somaxconn` (listen backlog) and `net.ipv4.tcp_fin_timeout` (reduce TIME_WAIT). For example: `sysctl -w net.core.somaxconn=1024`. To make permanent, add the line to `/etc/sysctl.conf`. Note this is a temporary workaround; a production fix should address the root cause.

What is the correct way to ensure a service starts automatically after system boot?+

Use `systemctl enable service-name` to create symbolic links in the appropriate target (e.g., multi-user.target). This configures the service to start at boot. To start it immediately without rebooting, run `systemctl start service-name`. The enable command does not start the service in the current session.

Keep studying

Build the next review session

Browse another free bank or use the study strategy guide to turn your misses into spaced review.