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*)"
]
}
}こんな時に使う
- 誤った削除を防ぎたい時
- 破壊的なコマンドをブロックしたい時
使い方
- 1settings.json の permissions.deny に rm -rf パターンを追加
- 2オプションの順序違い(-fr, -r -f など)もカバーする
- 3必要に応じて rm -r は ask に設定して確認付き許可
- 4完全に禁止ではなく確認したい場合は deny を ask に変更
Tips
- rm の代わりに trash コマンド(ゴミ箱に移動)の使用を推奨
- rm -i(対話的確認)は許可してもよい
- 重要なディレクトリはバックアップを取っておく
- Git 管理下なら削除しても復元可能