RSyslog Configuration for RHCSA Exam

Abstract: Configure RSyslog logging rules, custom file permissions, and logrotate to manage system logs for the RHCSA exam.

Created: 2026-08-07 by
Configure RSyslog for the RHCSA exam by editing /etc/rsyslog.conf to define logging rules, creating custom log files with proper permissions, and setting up logrotate to manage disk space. This ensures system logs are captured, rotated, and retained according to compliance standards required for certification.

Core Configuration File Structure

The primary configuration file for RSyslog is located at /etc/rsyslog.conf. Understanding its structure is essential for passing the RHCSA exam. The file is divided into several sections: global directives, modules, properties, and rules. Global directives control the behavior of the daemon itself, while rules determine where specific types of messages are sent.

For the exam, you must be comfortable modifying this file directly. While some distributions may use additional configuration files in /etc/rsyslog.d/, the core logic resides in the main configuration file. You should verify that the service is enabled and running using standard systemd commands like systemctl status rsyslog.

It is important to note that changes to /etc/rsyslog.conf require a restart of the service to take effect. Always check the syntax before restarting to avoid breaking the logging subsystem. A common practice is to backup the original file before making significant changes.

Defining Logging Rules

Logging rules follow the format facility.priority action. Facilities represent the source of the message (e.g., kern for kernel, authpriv for authentication), and priorities indicate the severity level (e.g., info, warn, err). Actions specify where the message should go, such as a file path or a remote server.

By default, most facilities are logged to /var/log/messages with an info priority. However, you can create custom rules to capture specific events. For example, to log all authentication errors to a dedicated file, you would add a rule like:

authpriv.*    /var/log/auth_errors.log

This rule captures all priorities (*) from the authpriv facility and writes them to /var/log/auth_errors.log. Ensure the file exists and has appropriate permissions so the rsyslog user can write to it. If the file does not exist, RSyslog will typically create it, but setting permissions manually is safer for security audits.

Remember that rules are processed in order. If a message matches a rule and stops processing, it will not appear in subsequent rules unless specified otherwise. Use the ~ symbol to stop processing for a specific message.

Custom Log Files and Permissions

When creating custom log files, ensure they have the correct ownership and permissions. The rsyslog daemon usually runs as the root user or a dedicated user depending on the distribution. However, best practices suggest restricting access to sensitive logs like authentication records.

Use chmod 600 for sensitive logs and chmod 644 for general logs. This prevents unauthorized users from reading critical security information. Additionally, consider using chown root:root to ensure only root can modify the log file content, preventing tampering.

Log Rotation with Logrotate

RSyslog handles writing logs, but it does not rotate them. You must configure logrotate to manage old log files and prevent disk space exhaustion. The configuration for RSyslog-specific rotation is often found in /etc/logrotate.d/rsyslog.

A typical rotation configuration might look like this:

/var/log/messages /var/log/secure {
    weekly
    rotate 5
    compress
    delaycompress
    missingok
    notifempty
    create 0644 root root
}

This configuration rotates logs weekly, keeps five copies, compresses older logs, and creates new log files with specific permissions. The missingok directive prevents errors if the log file is missing, which can happen during testing or misconfiguration.

For the RHCSA exam, you may need to create custom logrotate configurations for your custom RSyslog files. Place these configurations in /etc/logrotate.d/ with a descriptive name. Ensure the paths match those defined in your RSyslog rules.

Testing Logrotate Configurations

Before deploying logrotate configurations, test them using the logrotate -d command. This dry-run mode displays what actions would be taken without actually performing them. It helps identify syntax errors or permission issues.

If you encounter issues with log rotation, check the /var/lib/logrotate/status file to see when each log was last rotated. This can help diagnose why logs are not being rotated as expected. Also, verify that the postrotate script, if used, correctly signals RSyslog to reopen log files.

Relating to Other System Services

While RSyslog handles local logging, other services like OpenSSH also generate logs that interact with the system. For instance, SSH authentication attempts are logged via the authpriv facility, which RSyslog captures. Understanding how these services integrate is crucial for comprehensive system administration.

For more details on configuring SSH securely, refer to our guide on Persistently configure the OpenSSH daemon on Linux. This complements your understanding of how authentication logs are generated and managed.

Similarly, firewall logs generated by iptables or firewalld are also captured by RSyslog. Knowing how to filter and direct these logs can help in troubleshooting network issues. For insights into firewall configuration, see Iptables Command: A Guide to Firewall Configuration on Ubuntu Router.

Common Pitfalls and Troubleshooting

One common mistake is forgetting to restart the RSyslog service after making changes. Always run systemctl restart rsyslog to apply new rules. Another issue is incorrect file permissions, which can prevent RSyslog from writing to custom log files. Check the journal logs using journalctl -u rsyslog for error messages.

If logs are not appearing in the expected location, verify the facility and priority in your rules. Ensure that the log file path is absolute and that the directory exists. Also, check SELinux contexts if applicable, as strict policies can block RSyslog from writing to non-standard locations.

Frequently Asked Questions

How do I check if RSyslog is running?

Use the command systemctl status rsyslog to view the current state of the service. If it is inactive, start it with systemctl start rsyslog and enable it to start on boot with systemctl enable rsyslog.

What happens if I don't configure logrotate?

Without logrotate, log files will grow indefinitely until they consume all available disk space. This can lead to system instability or failure. Always pair RSyslog configurations with appropriate logrotate settings.

Can I send logs to a remote server?

Yes, you can configure RSyslog to send logs to a remote syslog server by specifying a UDP or TCP destination in the action part of the rule, such as @remote-server-ip for UDP or @@remote-server-ip for TCP.

How do I debug RSyslog configuration errors?

Run rsyslogd -N1 to validate the configuration syntax without starting the daemon. Check /var/log/messages or journalctl -u rsyslog for runtime errors after attempting to restart the service.

Why are my custom logs not being created?

Ensure that the parent directory exists and has write permissions for the RSyslog user. Also, verify that the rule syntax is correct and that the service has been restarted after adding the rule.

Latest News

How to Display Output of xterm Command in Terminal Screen using Cron

Resolve the inability to display xterm output in a terminal screen from cron by redirecting logs or using wall instead of insecure X11 workarounds.

Read More
Expose Local Server on VPS Preserving Real Client IPs (OS Level)

Resolve VPS logging showing only gateway IPs by configuring reverse proxies to forward real client addresses via X-Forwarded-For headers.

Read More
How to Clear Recent Files History in Linux without Deleting Actual Files?

Clear recent files history in Linux by deleting ~/.local/share/recently-used.xbel without removing the actual files.

Read More
Best HDD Copy Strategy: Manually Syncing and Rewriting Scratch

Resolve data drift between two 4TB hard drives by using rsync with the --delete flag to manually sync and rewrite scratch data for an exact mirror.

Read More
Understanding Bash Prompt Abbreviations: An Overview

Resolve repetitive typing errors by creating and persisting Bash aliases in the .bashrc file for improved command-line efficiency.

Read More
Free Tools and Methods to Log Real-Time Performance Details in Task Manager

Log real-time CPU and memory metrics to CSV files using Windows Performance Monitor Data Collector Sets to troubleshoot system slowness.

Read More
Contact Qatar Airways Customer Service: Phone Number, Help Center, and More

Resolve urgent Qatar Airways reservation issues like flight changes and baggage claims using the US phone number +1801-855-5905 or online self-service tools.

Read More
Windows 11: Alt Codes Displaying Wrong Characters - Solutions

Resolve Windows 11 Alt codes showing wrong characters by verifying the US keyboard layout and enabling Num Lock.

Read More
Run Programs with Elevated Privileges: A Comprehensive Guide

Eliminates the need to type sudo for frequent administrative tasks by configuring .bashrc aliases or functions.

Read More
Dynamically Changing Dates in Excel Formulas Using Cells

Eliminate manual date updates in Excel by using cell references to create dynamic formulas that automatically adjust calculations when input dates change.

Read More
Granting Edit Access to a Specific Excel Sheet in an Office 365 User Email ID-Based Login

Excel Online lacks native sheet-level permissions, so users must split workbooks or use worksheet protection to isolate edit access for specific tabs.

Read More
Creating Network Load on Local Wi-Fi from One PC

Generate sustained Wi-Fi bandwidth load from a single PC using a VM SFTP server to test router stability and throughput.

Read More
Changing the Default Editor for Batch Files in Windows 11's File Explorer

Resolve the issue of batch files opening in Notepad by changing the default editor to a preferred application like VS Code.

Read More
Gain WiFi Connection Minutes Before Losing it by Changing MAC Address

Bypass MAC address filtering to restore WiFi connectivity temporarily when a device is blocked by network administrators.

Read More
Photos Folders Turned Black: Troubleshooting Picture Applications on Windows

Resolve black screens in Windows Photos by resetting the app, updating graphics drivers, and repairing system files.

Read More
Troubleshooting High CPU Temperature Values: A Step-by-Step Guide

Resolve high CPU temperatures and thermal throttling by monitoring with Speedfan, cleaning dust from cooling components, and replacing degraded thermal paste.

Read More
Make cURL establish TLS connection with CA unknown

Resolve cURL TLS connection failures with unknown or self-signed certificates by using the --insecure flag to bypass CA validation.

Read More
Troubleshooting Incorrect Network Metrics Values in Grafana, Prometheus, InfluxDB, and Telegraf

Fix incorrect network metrics in Grafana, Prometheus, InfluxDB, and Telegraf by verifying interface selection, resolving unit mismatches, and handling counter resets.

Read More
Start Another Terminal Window (cmd.exe) Windows Repair/Troubleshoot

Provides step-by-step instructions to access the Windows Command Prompt via bootable media for advanced system repair and troubleshooting.

Read More
Thinkpad P1 Gen 6: Sudden Thunderbolt 3 Dock USB-C Charging Stopped Working

Resolve sudden Thunderbolt 3 dock USB-C charging and internet failure on ThinkPad P1 Gen 6 by updating firmware, resetting the dock, and adjusting power settings.

Read More
ASUS Windows 11 Laptop: Internet Connection Issue with Hotspot

Resolve ASUS Windows 11 laptop spinning wheel issue when connecting to mobile hotspot by resetting network stack, disabling IPv6, and adjusting power settings.

Read More
Developing iOS Project with Firebase: Logging in and Sending Push Notifications

Integrates Firebase to enable secure user authentication and push notifications in iOS applications.

Read More
Troubleshooting Bash Script with Suspected Issues of Spaces, Dashes, Filenames and Quoting

Resolve Bash script failures caused by word splitting, globbing, and special characters in filenames by applying proper quoting techniques.

Read More
Populating OneDrive Folder for Local Backup without Affecting Remote Files

Prevent OneDrive from deleting remote files during Windows reinstallation by unlinking the account or using symbolic links to isolate local data.

Read More
Force First Frame as Keyframe Without Re-encoding: A Quick Solution

Resolve inaccurate seeking and playback glitches by re-encoding video to ensure the first frame is a valid keyframe.

Read More
Find Information in Database Using WSL (Ubuntu) on Windows-10

Resolve database connection issues from WSL Ubuntu on Windows 10 by configuring client tools and network access to query remote or local servers.

Read More
Configuring a New Router with Different Networks: One Family, One Guest

Resolve IP conflicts and isolate guest traffic by configuring a second router with a distinct subnet via its WAN port.

Read More
Quickly Open Multiple Stock Websites with a Single Command

Solve the problem of manually opening multiple stock research websites by creating a single command to launch them simultaneously on Windows, macOS, or Linux.

Read More
Improved Adobe Acrobat Search Experience: Access Advanced Search with Ease

Access advanced search filters like case sensitivity and regex in Adobe Acrobat by clicking More Options in the Find bar.

Read More
Port Forwarding VM via OpenVPN: A Comprehensive Guide

Configure OpenVPN server and iptables to forward specific ports from VPN clients to a virtual machine's internal IP address.

Read More
Understanding Partitions in the 1980s: A Look Back at MS-DOS and Master Boot Record

Explains how the Master Boot Record and partition table enabled MS-DOS to manage multiple disk volumes on a single physical drive.

Read More
Windows 10 Enterprise: Keyboard Not Detected in Managed Organization with Admin Privileges

Resolve Windows 10 Enterprise keyboard detection failures caused by Group Policy restrictions, driver corruption, or USB enumeration errors.

Read More
Can't Find x86_64 Versions of Applications on MacOS arm64 (M1)

Resolve missing x86_64 app issues on M1 Macs by installing Rosetta 2 and reinstalling apps as universal binaries.

Read More
How to Hide Installation Source for an Android App

Manage Android app installation source visibility by using USB transfers or file managers to reduce browser traces and isolate data via work profiles.

Read More
Connecting Momentus 4200.2 ST9808210A Hard Drive via USB Cable

Resolve inability to access Seagate Momentus 4200.2 ST9808210A hard drive by connecting it via USB using a compatible SATA-to-USB adapter and configuring the disk in Windows.

Read More