Q: A junior admin removed the executable bit from the `chmod` command itself (`chmod -x /bin/chmod`). How do you fix this since you can't use chmod to fix chmod?
Since /bin/chmod is essentially just an ELF binary, you can invoke the dynamic linker directly to execute the file without it needing the...
🛠️ Production Runbook & Step-by-Step Resolution
Production Solution & Architecture
Since /bin/chmod is essentially just an ELF binary, you can invoke the dynamic linker directly to execute the file without it needing the execute bit. The dynamic linker/loader itself is executable. /lib64/ld-linux-x86-64.so.2 /bin/chmod +x /bin/chmod (path varies by distro). Alternatively, you could use a language interpreter built into the system that already has execute permissions: Python: python -c "import os; os.chmod('/bin/chmod', 0o755)" Or simply copy a tool that can set attributes: cp /bin/ls /tmp/ls; cat /bin/chmod > /tmp/ls (Wait, this is complex). The dynamic linker or Python approach is the cleanest SRE-level answer.
- Immediate Triage: Since /bin/chmod is essentially just an ELF binary, you can invoke the dynamic linker directly
- Run targeted verification commands before modifying configuration.
- Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.