51
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フールプルーフ呪文図鑑

Last updated at Posted at 2025-12-18

🧙‍♂️ フールプルーフ呪文図鑑

0. 序章

ITの世界には、知らずに唱えるとシステムを破壊する「呪文」が存在する。
本書はその呪文を分類し、危険度ランクと封印方法(対策)を記した「呪文図鑑」である。
若きエンジニアよ、これを読み解き、呪文を正しく扱う術を身につけよ。

1. 呪文ランク体系

特級呪文:唱えた瞬間にシステムが消滅するレベル。
一級呪文:重大障害を引き起こす可能性大。
二級呪文:限定的だが運用に支障をきたす。
三級呪文:小さなやらかし。だが積み重なると大事故に。

2. 呪文図鑑

🔥 特級呪文

rm -rf /
効果: 世界を消し去る禁断の呪文。
封印方法: alias rm='rm -i'、シンボリックリンクはchattr +iで護符を付与。

chmod -R 000 /
効果: 全ての門を閉ざし、誰も入れなくなる。
封印方法: ラッパースクリプト(safe_chmod.sh)で-Rを禁断指定。

chown -R user:group /
効果: 所有権を強制的に書き換え、秩序崩壊。
封印方法: ラッパースクリプト(safe_chown.sh)で再帰オプションを封印。

⚡ 一級呪文

kill -9 1
効果: 世界の根幹(PID 1)を断ち切る。
封印方法: ラッパースクリプト(safe_kill.sh)でPID 1を守護。

hostname xxx
効果: 全サーバの名を「xxx」に統一する呪詛。
封印方法: alias hostname='hostname -s'で確認専用に。

crontab -r
効果: 全ての定期魔法を消し去る。
封印方法: ラッパースクリプト(safe_crontab.sh)で-rを禁断。

🌪 二級呪文

shutdown -h now
効果: 遠隔地のサーバを即座に沈黙させる。
封印方法: ラッパースクリプト(safe_shutdown.sh)で-hを封印。

iptables DROP 22
効果: 管理者を閉め出す召喚呪文。
封印方法: タイマー付き復旧策を事前に仕込む。

🌱 三級呪文

PATH設定ミス
効果: コマンドが全て「command not found」に。
封印方法: export PATH="追加:$PATH"を習慣化。

yum update
効果: 不用意な更新で依存関係崩壊。
封印方法: 必ず検証環境で試す。

3. 封印の書(対策まとめ)

aliasの護符:rm, mv, cp, crontabなどに確認付きの護符を付与。
ラッパースクリプトの結界:危険オプションを検知して拒否。
権限分離の結界:用途別ユーザを設計し、root権限を最小化。
IaCの魔導書:Terraform/Ansibleで「手作業禁止」を徹底。
バージョン管理の巻物:etckeeperで/etcをGit管理し、復旧可能に。

4. 終章

呪文は便利であるが、無知な者が唱えれば災厄を招く。
フールプルーフ設計とは、呪文を安全に扱うための「封印術」である。
この図鑑を胸に刻み、システムを守る魔導士となれ。
フールプルーフ設計に関する記事が少なかったので需要があるか分かりませんが、評価が高ければもう少しつっこんだ内容の記事を書くかも・・・

以下の記事もフールプルーフ関連の記事で参考になると思います。

「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会
応用情報のために整理!代表的な信頼性設計

51
28
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?