~/.cursor/cli-config.json
(全局)或 <project>/.cursor/cli.json
(项目级)中设置权限。
权限类型
Shell 命令
Shell(commandBase)
控制对 Shell 命令的访问。commandBase
是命令行中的第一个标记/词元。
示例 | 说明 |
---|---|
Shell(ls) | 允许运行 ls 命令 |
Shell(git) | 允许任意 git 子命令 |
Shell(npm) | 允许使用 npm 包管理器命令 |
Shell(rm) | 拒绝具有破坏性的文件删除(常用于 deny ) |
文件读取
Read(pathOrGlob)
控制对文件和目录的读取权限。支持 glob 模式。
示例 | 说明 |
---|---|
Read(src/**/*.ts) | 允许读取 src 中的 TypeScript 文件 |
Read(**/*.md) | 允许在任意位置读取 Markdown 文件 |
Read(.env*) | 拒绝读取环境配置文件 |
Read(/etc/passwd) | 拒绝读取系统文件 |
文件写入
Write(pathOrGlob)
控制对文件和目录的写入权限。支持 glob 模式。在打印模式下写入文件需要 --force
。
示例 | 说明 |
---|---|
Write(src/**) | 允许写入 src 下的任意文件 |
Write(package.json) | 允许修改 package.json |
Write(**/*.key) | 拒绝写入私钥文件 |
Write(**/.env*) | 拒绝写入环境配置文件 |
配置
permissions
对象添加权限:
模式匹配
- Glob 模式支持
**
、*
和?
通配符 - 相对路径以当前工作区为作用域
- 绝对路径可指向项目外的文件
- 拒绝规则优先生效于允许规则