6 权限、设置与安全边界:哪些命令可以放行,哪些必须卡住
系列进度
Claude Code 从零教程 · 第 6 / 10 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
图文索引
按图先建立主线,再跳回正文核对步骤、配置和判断标准。
查看大图Claude Code 和普通聊天工具最大的区别,是它可以真的动你的项目:读文件、改文件、运行命令、连接工具。能力强了以后,安全边界就必须提前设好。
我的原则很简单:读代码可以宽一点,改代码要看范围,删除、上传、部署、改数据库必须谨慎。
我不会把所有命令都一键放行。读文件、运行 lint、改本地代码是一类;删文件、改数据库、连接服务器、部署生产是另一类,必须分开处理。
文章里把这个分层讲清楚,会比只说“注意安全”更有价值。读者能照着给自己的项目设权限边界。
先理解权限为什么重要
你让 Claude Code 跑 npm run build,通常没问题。你让它跑 rm -rf、git reset --hard、scp、systemctl restart、数据库迁移,就要非常小心。
设置 Claude Code 权限时,先把读文件、改代码、安装依赖、联网、删除和部署分成不同风险层级。
这些命令不是不能用,而是必须知道它会影响什么。尤其是生产服务器、用户数据、支付、密钥、证书,不能因为“AI 说需要”就直接放行。
用 /permissions 管理规则
官方命令参考里有 /permissions,用于管理 allow、ask、deny 规则。你可以把常见低风险命令放进允许列表,把高风险命令保留为询问或拒绝。
读《权限、设置与安全边界:哪些命令可以放行,哪些必须卡住》时,可以把配图当成路线卡:先看整体顺序,再看每一步为什么这样做,最后再检查边界条件。
我常见的分层是:
- 允许:
git status、git diff、rg、ls、读取文件、运行项目已有测试。 - 询问:安装依赖、修改配置、运行部署脚本、远程连接。
- 拒绝:读取私钥、打印
.env、删除大目录、重置 Git 历史、直接操作生产数据库。
这不是固定模板,你要按自己的项目调整。
settings.json 不要乱抄
Claude Code 的设置可以放在 .claude/settings.json 等位置。官方设置文档里有很多选项,比如 MCP server allowlist、hooks URL allowlist、权限规则、自动记忆开关等。
新手不要一上来就复制一大份别人家的设置。你应该先只写最少几条:
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Read(.env)",
"Read(**/*.pem)"
]
}
}
具体语法要以官方文档和你当前版本为准。这里想表达的是思路:先把明显危险的东西挡住,再逐步增加便利规则。
敏感文件的处理
项目里常见的敏感内容包括:
.env.pem、.key- 证书目录
- 数据库 dump
- 服务器密码
- OAuth token
- 支付回调密钥
这些文件不应该进入教程、日志、提交记录,也不应该让 Claude Code 为了“排查问题”直接打印出来。你可以让它读取变量名、配置示例、.env.example,但不要让它读取真实值。
部署命令要分级
本地构建失败,损失很小。生产部署失败,影响真实用户。所以我建议把部署分成三步:
如果想把《权限、设置与安全边界:哪些命令可以放行,哪些必须卡住》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。
学完《权限、设置与安全边界:哪些命令可以放行,哪些必须卡住》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。
- 让 Claude Code 先说明要执行的部署命令。
- 让它在本地构建或测试。
- 再决定是否远程部署。
如果是团队项目,还应该把部署脚本写进文档和 CI,不要让每个人靠口头记忆。
Claude Code 用得越熟,越应该把安全规则写得越清楚。让它省时间,不是让它越权。
下一篇讲 Skills 和命令。重复工作不要每次都重新写 prompt,可以沉淀成自己的工具。
参考资料:
继续阅读


