CC逆引きリファレンス

rm -rf を禁止したい

13. セキュリティリスク回避

コマンド / 機能

"deny": ["Bash(rm -rf*)"]

概要

再帰的な強制削除コマンドを禁止して、誤操作によるデータ損失を防ぎます。

設定例

// settings.json
{
  "permissions": {
    "deny": [
      // rm の危険なオプション
      "Bash(rm -rf*)",
      "Bash(rm -fr*)",
      "Bash(rm -r -f*)",
      "Bash(rm -f -r*)",

      // ルートや重要ディレクトリの削除
      "Bash(rm */ -rf)",
      "Bash(rm -rf /)",
      "Bash(rm -rf ~)",
      "Bash(rm -rf /*)",

      // その他の危険なコマンド
      "Bash(rmdir -p*)"
    ],
    // 確認付きで許可する場合
    "ask": [
      "Bash(rm -r*)"
    ]
  }
}

こんな時に使う

  • 誤った削除を防ぎたい時
  • 破壊的なコマンドをブロックしたい時

使い方

  1. 1settings.json の permissions.deny に rm -rf パターンを追加
  2. 2オプションの順序違い(-fr, -r -f など)もカバーする
  3. 3必要に応じて rm -r は ask に設定して確認付き許可
  4. 4完全に禁止ではなく確認したい場合は deny を ask に変更

Tips

  • rm の代わりに trash コマンド(ゴミ箱に移動)の使用を推奨
  • rm -i(対話的確認)は許可してもよい
  • 重要なディレクトリはバックアップを取っておく
  • Git 管理下なら削除しても復元可能