Skip to content
FunCoding

Search

Search docs, Skills and MCP

权限档的文件系统规则

设置 read、write、deny,添加工作区根目录,并理解精确路径与 glob 的平台限制。

This page has not been translated into English yet. The original Chinese version is shown below.

文件规则针对沙箱内命令定义可访问范围。write 同时允许读取和修改;read 允许读取与列目录;deny 禁止读取和写入。

范围与覆盖

更具体的路径覆盖较宽的规则。同一路径上 deny 优先于 write,write 优先于 read。因而既可在可写工作区内拒绝某个子目录,也可在较宽 deny 内显式重新开放更窄子树。

[permissions.project-edit.filesystem]
":minimal" = "read"

[permissions.project-edit.filesystem.":workspace_roots"]
"." = "write"
".devcontainer" = "read"
"generated" = "deny"

将这段放进已定义的 project-edit profile。缺失或空 filesystem 表仍保持受限访问,并出现启动警告;不要将空表当作全盘访问。

支持的路径

路径意义是否可定义子路径
:root文件系统根仅 .
:minimal常见工具需要的平台和运行时路径仅 .
:workspace_roots当前会话与 profile 的有效工作区可以
:tmpdir可用时的 TMPDIR仅 .
:slash_tmp存在时的 /tmp仅 .
绝对路径平台绝对路径可以
~/path当前用户主目录下路径可以

原生 Windows 支持盘符和 UNC 绝对路径,以及 ~\work 写法。子路径必须是内部相对后代,不能含 . 或 .. 路径分量;单独的 . 表示基准路径。../other-repo 会被拒绝。

添加复用的工作区

[permissions.project-edit.workspace_roots]
"~/code/app" = true
"~/code/shared-lib" = true

true 条目添加目录,false 不启用。:workspace_roots 规则同时应用于运行时根目录和这些附加目录,不会用新目录替换当前会话根目录。

拒绝读取一类文件

[permissions.project-edit.filesystem]
glob_scan_max_depth = 3

[permissions.project-edit.filesystem.":workspace_roots"]
"**/*.env" = "deny"

示例应合并到已有同名表,不能重复声明。Linux、WSL 和原生 Windows 在沙箱启动前可能需要预先展开无界 **;glob_scan_max_depth 至少为 1,越深启动扫描工作越多。也可列出 *.env、*/*.env 等明确深度。

这些匹配模式只覆盖它们实际匹配的名称,不能视为所有秘密文件的清单。read/write glob 在各平台的可移植性较差,优先使用精确路径或子树规则,并在实际运行环境验证。