Linux

How to Schedule Automated Tasks with cron and anacron on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Schedule Automated Tasks with cron and anacron on RHEL 9

Automated task scheduling is the backbone of server maintenance: backups run at 3 AM, log cleanup happens daily, SSL certificates renew before they expire, and databases are vacuumed weekly. On RHEL 9, there are three scheduling mechanisms each suited to different scenarios. cron is the classic daemon that runs jobs on a schedule defined by […]

Read more
How to Use rsync for Efficient File Synchronisation on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use rsync for Efficient File Synchronisation on RHEL 9

rsync is the Swiss Army knife of file synchronisation for Linux administrators. Unlike scp, which blindly copies every file every time, rsync computes a rolling checksum to identify changed file blocks and transfers only what has changed — making subsequent syncs dramatically faster and less bandwidth-intensive. It preserves file attributes (permissions, ownership, timestamps, ACLs, extended […]

Read more
How to Configure /etc/hosts, /etc/resolv.conf and DNS Resolution on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure /etc/hosts, /etc/resolv.conf and DNS Resolution on RHEL 9

DNS resolution on a Linux server is a multi-layered system. When an application calls getaddrinfo(“example.com”), the request passes through the Name Service Switch (NSS) framework, which consults sources in the order defined in /etc/nsswitch.conf — typically /etc/hosts first, then a DNS resolver. The DNS resolver reads its configuration from /etc/resolv.conf, which lists the DNS servers […]

Read more
How to Manage Users and Groups with useradd, groupadd and passwd on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage Users and Groups with useradd, groupadd and passwd on RHEL 9

While the earlier tutorial in this series covered the core useradd, usermod, and userdel tools for user lifecycle management, this guide goes deeper into the full toolkit for managing users and groups at scale on RHEL 9: bulk creation, password management with chpasswd, group administration with gpasswd, per-user resource limits with ulimit and /etc/security/limits.conf, user […]

Read more
How to Add and Delete Users on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Add and Delete Users on RHEL 9

User account management is one of the most fundamental administrative tasks on any Linux server. On Red Hat Enterprise Linux 9, every process, file, and network socket is owned by a user and group, making correct account hygiene essential for both security and auditability. Understanding the full lifecycle — creation, modification, and removal — and […]

Read more
How to Configure the Firewall on RHEL 9 with firewalld — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure the Firewall on RHEL 9 with firewalld

Red Hat Enterprise Linux 9 uses firewalld as its default firewall management daemon, backed by nftables as the kernel netfilter framework (replacing iptables which was the default in RHEL 7 and earlier). firewalld provides a zone-based model where each network interface is assigned to a trust zone — public, internal, dmz, trusted, and more — […]

Read more
How to Set Up SSH Key-Based Authentication on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up SSH Key-Based Authentication on RHEL 9

SSH key-based authentication is the gold standard for remote server access. Unlike passwords, SSH keys cannot be guessed by brute-force attacks. An Ed25519 private key is a 256-bit secret that would take longer than the age of the universe to crack by exhaustive search. When combined with a key passphrase, you have two-factor authentication: something […]

Read more
How to Configure Fail2Ban to Protect SSH on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Fail2Ban to Protect SSH on RHEL 9

Even with SSH key authentication enabled, a badly configured or temporarily accessible server with password auth still faces a constant barrage of brute-force login attempts. Fail2ban monitors log files for authentication failures, counts them per source IP, and when a configured threshold is crossed it issues a temporary ban by injecting a drop rule via […]

Read more
How to Set a Hostname and FQDN on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set a Hostname and FQDN on RHEL 9

A server’s hostname is its identity on the network. The fully qualified domain name (FQDN) combines the short hostname with the DNS domain, forming an address like web01.example.com. Many services depend on a correctly configured hostname and FQDN to function properly: email servers use the FQDN in SMTP HELO greetings (incorrect values cause delivery rejections), […]

Read more
How to Sync Time with Chrony on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Sync Time with Chrony on RHEL 9

Accurate time synchronization is not optional on a server — it is a hard requirement. TLS certificate validation fails when the clock is wrong by more than a few minutes. Kerberos authentication rejects tickets with a clock skew over 5 minutes. Cron jobs fire at the wrong time. Log correlation across multiple servers becomes impossible […]

Read more
CHAT