🛡️ System Administration

📚 Documentation

Click a picture to open the full guide and its video:

Ansible Ansible Active Directory with SSSD Active Directory with SSSD Troubleshooting Active Directory Troubleshooting Active Directory authd: Ubuntu Login with Microsoft Entra ID authd Ubuntu Login with Microsoft Entra ID Samba Samba Postfix Postfix Creating SSH Keys Creating SSH Keys Passwordless SSH Login Passwordless SSH Login Creating TLS Certificates Creating TLS Certificates OpenSSL OpenSSL Systemctl Systemctl IP Command IP Command nmtui: Set Up the Network from a Text Menu nmtui Set Up the Network from a Text Menu NIC Bonding NIC Bonding firewalld: Zones, Services and Rich Rules firewalld Zones, Services and Rich Rules iptables: Rules, NAT and Safe Changes iptables Rules, NAT and Safe Changes nftables: Tables, Sets and Rulesets nftables Tables, Sets and Rulesets ufw: The Uncomplicated Firewall ufw The Uncomplicated Firewall SELinux: Labels, Denials and Fixes SELinux Labels, Denials and Fixes Dig Dig BIND: Run Your Own DNS Server BIND Run Your Own DNS Server Nmap Nmap Tcpdump Tcpdump tcpdump Filters: the BPF Language tcpdump Filters the BPF Language Wireshark Wireshark Htop Htop Ps Ps Lsof Lsof Recover a Deleted File Recover a Deleted File superfile: A Terminal File Manager superfile A Terminal File Manager Iftop Iftop Strace Strace Ltrace Ltrace Perf Perf Nagios Core: Hosts, Services and Alerts Nagios Core Hosts, Services and Alerts Checkmk: Monitoring with Auto-Discovery Checkmk Monitoring with Auto-Discovery Zabbix: Install, Hosts, Triggers and Alerts Zabbix Install, Hosts, Triggers and Alerts Prometheus: Metrics, PromQL and Alerting Prometheus Metrics, PromQL and Alerting Grafana: Dashboards, Data Sources and Alerts Grafana Dashboards, Data Sources and Alerts Loki: Log Aggregation, LogQL and Alerts Loki Log Aggregation, LogQL and Alerts MySQL MySQL MySQL Replication MySQL Replication PostgreSQL PostgreSQL Receive-Only Mail in Docker Receive-Only Mail in Docker SSHFS: Remote Folders over SSH SSHFS Remote Folders over SSH systemd Units and Timers systemd Units and Timers Disks, LVM and Filesystems Disks, LVM and Filesystems Users, Groups and sudo Users, Groups and sudo Package Management Across Distros Package Management Across Distros Ansible One-Liners Ansible One-Liners Ansible Roles and Projects Ansible Roles and Projects Ansible Semaphore: A Web UI and API for Playbooks Ansible Semaphore A Web UI and API for Playbooks Puppet Puppet Chef Chef Salt Salt Network Troubleshooting Network Troubleshooting Nginx Guide Nginx Guide journalctl: The systemd Journal journalctl The systemd Journal rsync: Copy, Mirror and Back Up rsync Copy, Mirror and Back Up ss: Sockets and Listening Ports ss Sockets and Listening Ports cron: Scheduling Jobs cron Scheduling Jobs Runbook: Slow Server / High Load Runbook Slow Server / High Load Runbook: Disk Full Runbook Disk Full Runbook: Server Won't Boot Runbook Server Won't Boot Runbook: apt update Fails on i386 Runbook apt update Fails on i386 Air-Gapped Repositories for Ubuntu and Red Hat Air-Gapped Repositories for Ubuntu and Red Hat TLS Certificate Monitoring TLS Certificate Monitoring

Where uptime is a religion and reboot is the last resort.

Why did the sysadmin bring a ladder to the server room?
Because the uptime percentage needed a mount!

Core Principles

⚠️ Pro Tip: Never reboot a production server without checking if someone is working on it. Use who and w first.

Coming Soon

What's a sysadmin's favorite song?
"Never Gonna Give You Up" — because the uptime never gives up!