~/.cursor/cli-config.json
(全局)或 <project>/.cursor/cli.json
(项目级)中设置权限。
权限类型
Shell 命令
Shell(commandBase)
控制对 shell 命令的访问。commandBase
是命令行中的第一个标记(token)。
示例 | 描述 |
---|---|
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 模式支持
**
、*
和?
通配符 - 相对路径作用域限定为当前工作区
- 绝对路径可指向项目之外的文件
- 拒绝规则优先生效于允许规则