权限设置
权限模型概述
Codex 的权限系统是一个多层次的安全框架,旨在保护您的文件系统和执行环境免受意外或恶意操作的侵害。权限控制贯穿 Codex 的每一个操作,确保在使用 AI 编程代理时的安全性。
权限层级
默认策略(全局默认)
↓
全局配置(~/.claude/settings.json)
↓
用户配置(~/.claude/settings.local.json)
↓
项目配置(项目目录/.claude/settings.json)
↓
会话临时授权(运行时)
文件系统权限
路径白名单
控制 Codex 可以访问的文件和目录:
{
"permissions": {
"allowPaths": [
"/home/user/projects",
"/home/user/shared-libs"
],
"denyPaths": [
"/etc",
"/usr",
"/home/user/.ssh",
"/home/user/.aws"
]
}
}
文件操作权限
细粒度控制不同类型的文件操作:
{
"permissions": {
"fileOperations": {
"read": true,
"write": true,
"delete": false,
"rename": false
}
}
}
敏感文件保护
Codex 会自动识别并保护以下敏感文件:
- 密钥文件(
.key,.pem,.cert) - 配置文件(
.env,.env.local,credentials.json) - SSH 相关(
~/.ssh/) - Git 相关(
.git/) - 凭据文件(secret, credential, password)
命令执行权限
命令白名单
控制 Codex 可以执行的系统命令:
{
"permissions": {
"allowCommands": [
"npm",
"npx",
"yarn",
"pnpm",
"git",
"node",
"python",
"pip",
"cargo",
"go",
"make",
"curl",
"wget"
],
"denyCommands": [
"rm -rf /",
"sudo",
"chmod -R",
"dd"
]
}
}
危险命令检测
Codex 内置了危险命令检测机制,以下类型的命令会触发警告:
# 危险操作示例 - 会被拦截或警告
rm -rf / # 删除根目录
sudo apt remove # 卸载系统包
> /dev/sda # 直接操作硬件
:wq! # 强制写入
工具调用控制
启用/禁用工具
您可以控制 Codex 可以使用哪些工具:
{
"permissions": {
"tools": {
"Read": true,
"Edit": true,
"Write": true,
"Bash": true,
"WebSearch": false,
"WebFetch": false
}
}
}
工具调用频率限制
{
"permissions": {
"rateLimits": {
"Bash": {
"maxCalls": 50,
"perMinutes": 5
},
"Edit": {
"maxCalls": 100,
"perMinutes": 5
}
}
}
}
安全策略
确认模式
在确认模式下,每次操作前都需要用户确认:
{
"permissions": {
"confirmMode": true,
"confirmOn": [
"delete",
"rename",
"install",
"network"
]
}
}
自动拒绝策略
{
"permissions": {
"autoDeny": {
"networkAccess": false,
"packageInstallation": true,
"fileDeletion": true,
"environmentModification": true
}
}
}
审计日志
开启审计日志可以记录所有操作:
{
"audit": {
"enabled": true,
"logFile": "~/.claude/audit.log",
"includeOutput": false,
"maxSize": "10MB"
}
}
企业级安全配置
团队策略部署
{
"permissions": {
"enterprise": {
"enforceGlobalPolicy": true,
"disableUserOverride": false,
"auditAllOperations": true,
"allowedModels": ["claude-3-opus", "claude-3-sonnet"],
"requireApproval": ["delete", "install", "network"]
}
}
}
安全最佳实践
- 最小权限原则:只授予完成任务所需的最小权限
- 定期审计:定期检查权限配置和操作日志
- 分层防护:结合系统级和 Codex 级的安全措施
- 敏感项目隔离:对敏感项目使用独立的配置和权限