Category: Linux
Category: Linux
Section titled “Category: Linux”28 posts
Use related tags below to narrow down implementation-level topics.
Related tags
- Linux (23)
- System Administration (16)
- Shell Script (7)
- Bash (5)
- Systemd (4)
- Firewalld (3)
- Logging (3)
- Network Security (3)
- Safely process filenames containing spaces and newlines with find and xargs Learn how to safely process large numbers of filenames containing spaces or newlines using find -print0, xargs -0, -exec, batching, and parallel execution.
- Safely Transform Configuration Files with sed Explains how to safely transform configuration files with sed using addresses, captures, backups, idempotent replacement, and diff checks to prevent unintended changes on repeated runs.
- Bash File Descriptors and I/O Redirection Learn Bash file descriptors, separating stdout and stderr, grouping commands, and the difference from tee through practical examples, and safely route logs and error output to the intended destinations.
- Use Bash Parameter Expansion for Defaults, Validation, and String Processing Explains how to use Bash parameter expansion to set defaults, validate unset values, remove prefixes and suffixes, and replace strings so input can be processed safely with fewer external commands.
- Detecting Bash Script Failures with strict mode and trap Learn how to reliably detect Bash script failures with errexit, nounset, pipefail, and ERR/EXIT traps, including safe execution with exception handling and cleanup.
- Manage Process Limits with limits.conf and systemd This guide explains how to set nofile and nproc limits using limits.conf and systemd settings such as LimitNOFILE, and how to verify the effective values in different execution contexts for shells and services.
- Practical Patterns for Bash Arrays and Associative Arrays This article explains practical patterns for Bash arrays and associative arrays, including adding elements, managing keys, iterating safely, and handling arguments, so that multiple values can be processed safely without concatenating them into a single string.
- Configure sysctl Temporarily and Persistently and Verify the Applied Values This guide explains how to temporarily change kernel parameters with sysctl, configure persistent settings with sysctl.d, and verify the requested and effective values as well as configuration conflicts.
- Configure VirtualHosts with Apache HTTP Server This guide explains how to configure VirtualHosts, DocumentRoots, configuration testing, firewall settings, and SELinux in Apache HTTP Server, and how to verify them on an actual system to safely publish multiple sites from a single Linux server.
- Managing Application Logs with logrotate This guide explains how to use logrotate to define application log rotation policies, decide when to use copytruncate, configure postrotate, perform dry-runs and forced tests, and safely prevent custom log files from growing excessively.
- Build a Minimal Packet Filter with nftables This guide explains how to build a minimal packet filter using nftables tables, chains, rules, counters, and persistence, and how to manage and verify it safely, including avoiding concurrent management with firewalld.
- Secure Initial Configuration of a Linux OpenSSH Server This guide explains how to improve the security of OpenSSH Server on Linux step by step by checking sshd_config, restricting root login, disabling password authentication, configuring AllowUsers, and reloading the configuration without losing access.
- Designing systemd Unit Dependencies and Startup Order This guide explains how to design dependencies and startup order between systemd Units using Wants, Requires, After, Before, and targets, and how to verify their behavior on an actual system when failures occur.
- systemd-journald Persistence, Capacity Limits, and Rotation This guide explains how to configure log persistence, capacity limits, and rotation using systemd-journald settings such as Storage, SystemMaxUse, and vacuum, and how to verify that logs are retained after a reboot.
- CPU, Memory, and IO Limits for systemd Services This article explains how to set per-service resource limits using systemd settings such as CPUQuota, MemoryMax, and TasksMax, and how to verify their effective values and behavior when the limits are reached.
- Verify RPM Package Signatures, Owned Files, and Modifications This article explains how to use the rpm command to check installed package signatures, owned files, file origins, and modification status, and how to investigate unknown files and package changes.
- Manage DNF Repositories and Module Streams This article explains how to check and manage DNF repositories, repoquery, module streams, versionlock, and cache to control package sources and installed versions as intended.
- Configuring and Troubleshooting Linux Time Synchronization with chrony This article explains how to configure Linux time synchronization with chrony, verify synchronization status with sources and tracking, use waitsync, persist the configuration, and isolate the causes of time drift by checking reachability.
- Investigating Listening Ports and Connection States with the ss Command This article explains how to use the ss command to check listening ports, associated processes, TCP states, and filter conditions, and how to troubleshoot port conflicts and connection failures from the server side.
- Configure a Static IP, DNS, and Gateway with nmcli This guide explains how to use nmcli in a NetworkManager environment to configure, apply, and verify a static IP address, DNS, and a default gateway, and safely roll back the changes when necessary.
- Practical Guide to firewalld Zones, Services, and Rich Rules This guide explains how to safely modify and verify a Linux firewall with firewalld without disrupting connectivity, while checking runtime/permanent settings, zones, services, source restrictions, and rich rules on an actual system.
- Linux Log Investigation and Retention Management with journalctl and systemd-journald This guide systematically explains how to search and investigate Linux logs and manage persistence, capacity control, and retention with journalctl and systemd-journald.
- Practical Guide to systemd Service Management and Unit Files A practical guide to service management with systemd, Unit file design, dependencies, automatic startup, restart on failure, safe configuration changes with drop-ins, and verification methods.
- Complete Guide to Linux File Ownership and Permission Design This guide systematically covers Linux file owners, groups, permissions, umask, and special bits, with practical explanations of how to design secure access rights and troubleshoot permission problems.
- Set Up a Web Server with Nginx This guide explains how to install Nginx in an RHEL-compatible environment such as AlmaLinux while keeping SELinux enabled, then start the server, publish web content, and verify connectivity.
- Complete Guide to Bash Special Syntax, Variables, and Expansions A complete reference covering all Bash special syntax, variables, expansion rules, and control structures with examples.
- AlmaLinux Initial OS Setup Guide A minimal and practical guide for initial OS setup of AlmaLinux servers with SELinux disabled.
- Building a Squid Proxy Server on Linux A step-by-step guide to install and configure a basic Squid proxy server on Linux and connect clients.