sudo を禁止したい
13. セキュリティリスク回避コマンド / 機能
"deny": ["Bash(sudo*)"]概要
管理者権限でのコマンド実行を禁止し、システム設定の意図しない変更を防ぎます。
設定例
// settings.json
{
"permissions": {
"deny": [
// sudo の禁止
"Bash(sudo *)",
"Bash(sudo*)",
// su も禁止
"Bash(su *)",
"Bash(su)",
// doas(BSD系)も禁止
"Bash(doas *)",
// pkexec(GUI用)も禁止
"Bash(pkexec *)"
]
}
}
// 特定のコマンドのみ sudo を許可する場合
{
"permissions": {
"deny": ["Bash(sudo*)"],
"allow": [
"Bash(sudo systemctl status*)",
"Bash(sudo docker ps*)"
]
}
}こんな時に使う
- 管理者権限での実行を防ぎたい時
- システム設定の変更を制限したい時
使い方
- 1settings.json の permissions.deny に sudo パターンを追加
- 2su, doas, pkexec など他の権限昇格コマンドも考慮
- 3特定のコマンドだけ許可したい場合は allow で明示
- 4allow は deny より後に評価されるので上書き可能
Tips
- 通常の開発作業で sudo が必要になることは稀
- Docker 操作は sudo なしで動くよう docker グループに追加
- システム管理タスクは別途手動で行う
- sudo が本当に必要な場合は一時的に設定を変更