Linux
grep and sed: Search and Replace Text From the Command Line
You have a configuration file with a hundred lines and you need to change one IP address. Or a log file with…
The Linux find Command: Find Files by Name, Size, Time, and Permissions
You need to find a file, but you only remember part of its name, or you need to find every file larger…
Bash Parameter Expansion and Quoting: A Reference
Most surprising Bash bugs are one of two things going wrong: an expansion that was not quoted when it should have been,…
Linux Disk Full: A Troubleshooting Runbook
“My disk is full” and “du says there is plenty of space” is the most confusing state a Linux machine can be…
journalctl Reference: Finding What You Need in System Logs
Almost every Linux troubleshooting session ends at journalctl, and almost everyone uses it the same three ways: tail everything, filter by unit,…
systemd Service Hardening: A Directive Reference
A systemd service unit can confine itself in ways a container cannot: it can make parts of the filesystem read-only, hide /home…
Linux File Permissions Reference: Modes, umask, and ACLs
Almost every Linux permissions problem reduces to two misunderstandings. The first is that a permission bit on a directory means something different…
What Happens When an AI Agent Gets Root Access?
Root turns a mistaken tool call into full host compromise: keys, firewall, logs, and persistence. Why it happens and how to remove…
AI Agent Security: Linux Permissions, Sandboxing, and Least Privilege
Apply least privilege to AI agents: dedicated users, tight file modes, single-command sudo, systemd confinement, and secret separation.
Build a Sandboxed AI Agent on Ubuntu Using Docker
Run an AI agent in a locked-down Docker container on Ubuntu: read-only root, dropped capabilities, no network by default, and narrow mounts.