深度

Claude Code 权限系统深度解析:Allow/Deny 规则、五种权限模式与通配符语法

Claude Code 权限系统完全解析:三类工具默认审批规则、Allow/Ask/Deny 三种规则类型及优先级、五种权限模式(default/acceptEdits/plan/dontAsk/bypassPermissions)、通配符语法详解(空格词边界的关键区别),以及 Read/Edit/WebFetch/MCP/Agent 各工具权限规则示例。

2026/3/34分钟 阅读ClaudeEagle

Claude Code 的权限系统让你精确控制 AI 可以执行哪些操作——从完全自动到严格审批,从全局策略到按工具精细配置。

权限层级

三类工具的默认审批规则:

工具类型示例默认需要审批"不再询问" 行为
只读操作读文件、GrepN/A
Bash 命令Shell 执行按项目目录 + 命令永久记住
文件修改Edit/Write 文件本次会话结束前记住

三种规则类型

/permissions 命令查看和管理权限规则:

  • Allow:无需手动审批直接执行
  • Ask:每次使用时提示确认
  • Deny:完全阻止该工具

规则优先级deny → ask → allow,第一条匹配的规则生效,deny 始终最优先。

五种权限模式

在 settings.json 中设置 defaultMode

模式说明
default标准模式:首次使用每种工具时提示
acceptEdits本次会话自动接受所有文件编辑权限
planPlan 模式:只能分析,不能修改文件或执行命令
dontAsk自动拒绝所有未通过 /permissionsallow 规则预批准的工具
bypassPermissions跳过所有权限提示(仅限容器/VM 等隔离环境)

⚠️ bypassPermissions 会禁用所有权限检查,仅在 Claude Code 无法造成损害的隔离环境中使用。企业管理员可通过 disableBypassPermissionsMode: "disable" 在 Managed 设置中永久禁用此模式。

权限规则语法

基础格式

工具名 // 匹配该工具的所有用法 工具名(限定符) // 精细匹配

匹配所有用法

规则效果
Bash匹配所有 Bash 命令
WebFetch匹配所有 web 请求
Read匹配所有文件读取

Bash(*) 等同于 Bash

精细匹配(带限定符)

规则效果
Bash(npm run build)精确匹配 npm run build 命令
Read(./.env)精确匹配读取 .env 文件
WebFetch(domain:example.com)匹配对 example.com 的请求

通配符模式

* 可出现在命令任意位置:

json
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git commit *)",
      "Bash(git * main)",
      "Bash(* --version)",
      "Bash(* --help *)"
    ],
    "deny": [
      "Bash(git push *)"
    ]
  }
}

关键细节:* 前的空格很重要

  • Bash(ls *) — 匹配 ls -la匹配 lsof(有空格,有词边界)
  • Bash(ls*) — 同时匹配 ls -lalsof(无空格,无词边界)

Claude Code 能识别 Shell 操作符(如 &&),所以 Bash(safe-cmd *) 不会safe-cmd && other-cmd 权限。

各工具权限规则

Read / Edit

json
"Read(~/.zshrc)"         // 允许读取特定文件
"Read(./.env)"           // 拒绝读取 .env
"Read(./secrets/**)"     // 拒绝读取 secrets 目录
"Edit(./src/**)"         // 限制编辑范围到 src/

WebFetch

json
"WebFetch(domain:github.com)"    // 只允许访问 github.com
"WebFetch(domain:*.internal)"    // 只允许内网域名

⚠️ WebFetch 只限制 web_fetch 工具,不限制 Bash 中的 curl/wget。如需彻底限制网络访问,同时 deny Bash 网络工具。

MCP 工具

json
"mcp__my-server__tool-name"      // 允许特定 MCP 工具
"mcp__my-server__*"              // 允许某个 MCP 服务器的所有工具

Agent(子代理)

json
"Agent"                          // 允许启动任意子代理
"Agent(explore)"                 // 只允许启动 explore 子代理

实用配置示例

安全的 CI 环境(只允许测试相关命令)

json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Bash(git status)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Bash(rm *)",
      "Bash(git push *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  }
}

保护敏感文件

json
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Edit(./.env)",
      "Edit(./secrets/**)"
    ]
  }
}

Managed 设置(企业专属)

通过 Managed 作用域部署的权限无法被用户或项目设置覆盖:

json
{
  "disableBypassPermissionsMode": "disable",
  "permissions": {
    "deny": ["Bash(rm -rf *)"]
  }
}

原文:Configure permissions - Claude Code Docs | 来源:Anthropic 官方文档

相关文章推荐

深度Claude Code 环境变量与密钥管理:安全配置 API Key 和敏感信息的完整指南Claude Code 开发中安全处理环境变量和 API 密钥的完整指南:.env 文件规范、dotenv 与系统环境变量的区别、密钥轮换策略、防止密钥泄露到 Git、secrets 加密存储、生产环境的 Vault/AWS Secrets Manager 集成,以及 CLAUDE.md 安全规范配置。2026/3/16深度Claude Code 安全最佳实践:团队项目权限管理与敏感信息防泄漏Claude Code 安全使用完整指南:权限最小化配置(allow/deny 规则)、环境变量与密钥安全管理、CLAUDE.md 安全策略、企业团队管控配置(managed-settings.json)、CI/CD 密钥保护、防止敏感信息泄漏的 10 个规则。2026/3/15深度Claude Code 沙箱隔离深度指南:OS 级文件系统与网络隔离、Auto-allow 模式与逃生舱机制Claude Code 沙箱隔离深度指南:传统权限模型三大问题(审批疲劳/效率损失/自主性受限)、文件系统隔离(写入限当前目录/读取全系统/OS 级子进程继承)、网络隔离(代理服务器域名控制/allowManagedDomainsOnly)、三平台实现(macOS Seatbelt/Linux bubblewrap/WSL2 支持/WSL1 不支持)、安装启用(/sandbox 命令)、两种沙箱模式(Auto-allow 自动批准 vs Regular 标准流程)、settings.json 完整配置(allowWrite/denyWrite/denyRead/路径前缀/多层合并行为)、工具兼容性(kubectl/watchman/docker 处理方式)、逃生舱机制(dangerouslyDisableSandbox/allowUnsandboxedCommands 禁用)、三项安全收益和沙箱局限性。2026/3/9深度Claude Code 权限系统深度解析:规则语法、5 种权限模式与 Hooks 扩展Claude Code 权限系统完整解析:三层工具类型(只读/Bash/文件修改)审批规则、/permissions 管理界面(Allow/Ask/Deny 规则 deny→ask→allow 优先顺序)、5 种权限模式(default/acceptEdits/plan/dontAsk/bypassPermissions 及禁用方式)、权限规则语法(Tool/Tool(specifier)/通配符/空格边界规则/Shell 操作符感知)、四种路径前缀格式(//绝对路径/~/home/项目根/相对)、MCP 工具和 Agent 权限规则、WebFetch 网络控制局限性(无法阻止 Bash curl)及三种可靠 URL 过滤方案、PreToolUse Hooks 扩展权限、工作目录扩展(--add-dir/additionalDirectories),以及权限与沙箱互补关系和两个配置示例。2026/3/9深度Claude Code 安全机制全解:权限架构、提示词注入防护、云端隔离与团队安全最佳实践Claude Code 安全机制完整解析:最小权限原则(默认只读/一次性批准/白名单)、四大内置保护(Sandbox/写入范围限制/权限疲劳缓解/Accept Edits)、八大提示词注入防护(权限系统/上下文分析/命令黑名单/隔离 Context/Fail-closed 匹配)、隐私保障与凭证加密、MCP 安全注意事项(Anthropic 不审计)、云端 VM 六大安全控制 vs Remote Control TLS 本地执行,以及个人和团队安全最佳实践。2026/3/6深度Claude Code 沙箱隔离完全指南:文件系统隔离、网络访问控制与 OS 级安全边界Claude Code 沙箱隔离完全指南:文件系统(默认读全机/写当前目录)和网络隔离机制、macOS Seatbelt 和 Linux bubblewrap OS 级执行、两种沙箱模式(Auto-allow/Regular 权限)、allowWrite/denyRead/denyWrite 路径配置、自定义网络代理,以及提示注入防护和已知安全限制。2026/3/3