Linux Capabilities: Drop Root Without Breaking Everything
Learn Linux capabilities to drop root privileges without breaking your apps. Master cap_drop, cap_add in Docker, and setcap for fine-grained privilege control.
All the articles with the tag "linux".
Learn Linux capabilities to drop root privileges without breaking your apps. Master cap_drop, cap_add in Docker, and setcap for fine-grained privilege control.
Master the curl flags that'll save you hours debugging APIs, downloads, and web requests. From -X to --compressed, here's what actually matters.
Named pipes (FIFOs) let you buffer and synchronize between processes. They're underused but solve real problems: queuing, coordination, and complex data flows.
Go beyond ufw allow/deny: rate limiting with ufw limit, logging levels, before.rules for iptables, IPv6 handling, Docker bypass fixes, and fail2ban integration.
Declare, iterate, slice, and manipulate bash arrays safely. Indexed and associative arrays, the @ vs * trap, and patterns that make scripts readable.
Process substitution lets you treat a command's output as a file, and feed input to a command as if it were a file. It's weird but powerful.
Bash heredocs and here strings explained: <<EOF for multiline input, <<-EOF for tab-indented blocks, <<<string for single lines, and when to use each.
GNU parallel runs tasks in parallel across CPU cores. It's faster than xargs and easier than writing a job queue. Here's when and how to use it.
Master LVM snapshots and thin provisioning on Linux. Learn to create, use, and merge snapshots for backups, and over-provision storage safely.
Harden SSH properly: disable password auth, switch to Ed25519 keys, configure sshd_config, set up SSH certificates with step-ca, add 2FA, and configure ProxyJump for bastion hosts.
Use trap EXIT to clean up temp files, INT/TERM for graceful shutdown, and ERR for errors. Stop your bash scripts from leaving messes when they die.
set -x prints every command before it runs. Add PS4 for context. Use trap for cleanup. Here's the toolkit every bash debugger needs.