🔐 第五章:权限管理系统

配置安全策略,保护系统和数据安全

📖 5.1 权限模型

OpenCode 的权限系统控制 AI 可以执行的操作。权限通过 permission 字段配置, 支持三种动作:allow(允许)、ask(询问)、deny(拒绝)。

⚠️ 5.2 必须拦截的危险操作

🚨 以下命令必须配置为 deny:

  • rm * , rm -rf * - 强制删除文件和目录
  • rmdir * - 删除目录
  • sudo rm * - 管理员权限删除
  • dd * - 磁盘操作,可能导致数据丢失
  • mkfs * - 格式化文件系统
  • fdisk * - 磁盘分区工具
  • shutdown * , reboot - 系统关机/重启
  • > /dev/* - 直接写入设备
  • DROP DATABASE * , DROP TABLE * - 删除数据库
  • (:){ :|:& };: - 著名的 fork 炸弹

⚙️ 5.3 权限配置示例

"permission": { "read": { "*": "allow", "*.env": "deny", "*.env.*": "deny", ".env.example": "allow" }, "write": "allow", "edit": "allow", "bash": { "*": "allow", "rm *": "deny", "rm -rf *": "deny", "sudo *": "ask", "git push --force *": "ask", "docker rm *": "ask" }, "webfetch": "allow" }
💡 建议询问的操作: sudo、chown、kill -9、git push --force、docker rm 等可能影响系统的操作建议设为 ask。

✅ 本章小结

  • 理解权限模型的三种动作
  • 掌握必须拦截的危险操作
  • 学会配置安全的权限策略
← 返回首页 下一章:配置系统 →