Skip to main content

ระบบ Permissions ของ Claude Code

กฎ permissions, กฎเฉพาะเครื่องมือ, managed settings และ working directories

ภาพรวม

ระบบ permissions ของ Claude Code ควบคุมการดำเนินการที่ Claude สามารถทำได้โดยอัตโนมัติ vs. ที่ต้องการการอนุมัติจากคุณ

กฎ Permissions

โครงสร้างกฎ

กฎ permissions กำหนดใน settings files:

{
"permissions": {
"allow": ["Read", "Edit(*.md)", "Bash(git *)"],
"deny": ["Bash(rm -rf *)"],
"defaultMode": "default"
}
}

รูปแบบกฎ

รูปแบบความหมาย
Readอนุญาตให้อ่านไฟล์ทั้งหมด
Edit(*.ts)อนุญาตให้แก้ไขไฟล์ TypeScript เท่านั้น
Bash(git *)อนุญาตให้รันคำสั่ง git ทั้งหมด
mcp__github__*อนุญาตให้ใช้ GitHub MCP tools ทั้งหมด

กฎเฉพาะเครื่องมือ

เครื่องมือไฟล์

{
"permissions": {
"allow": [
"Read",
"Write(src/**)",
"Edit(*.json)"
],
"deny": [
"Write(.env)",
"Write(*.secret)"
]
}
}

เครื่องมือ Bash

{
"permissions": {
"allow": [
"Bash(npm *)",
"Bash(git *)",
"Bash(pytest *)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)"
]
}
}

เครื่องมือ MCP

{
"permissions": {
"allow": [
"mcp__github__create_issue",
"mcp__sentry__*"
],
"deny": [
"mcp__github__delete_*"
]
}
}

Managed Settings

สำหรับองค์กร ผู้ดูแลระบบสามารถกำหนด permissions ระดับ organization ที่ผู้ใช้ไม่สามารถแก้ไขได้:

ไฟล์ Managed Settings

/Library/Application Support/Claude/managed-settings.json  # macOS
%PROGRAMDATA%\Claude\managed-settings.json # Windows
/etc/claude/managed-settings.json # Linux

ตัวอย่าง Managed Settings

{
"permissions": {
"deny": ["Bash(curl *)", "Bash(wget *)"],
"disableBypassPermissionsMode": true
}
}

ลำดับความสำคัญ

กฎ deny มีความสำคัญสูงกว่า allow เสมอ และ managed settings มีความสำคัญสูงกว่า user settings

Working Directories

Claude Code จำกัด filesystem access ตาม working directory:

การตั้งค่า Working Directory

{
"workingDirectory": "/path/to/project"
}

การอนุญาต Paths เพิ่มเติม

{
"allowedPaths": [
"/home/user/shared-libs",
"/tmp/claude-work"
]
}

ตำแหน่ง Settings Files

ตำแหน่งขอบเขต
~/.claude/settings.jsonส่วนตัว ใช้ได้ทุก project
.claude/settings.jsonProject ปัจจุบัน (commit ได้)
.claude/settings.local.jsonProject ปัจจุบัน (gitignored)
Managed settingsOrganization-wide (admin-controlled)

ดูสิ่งที่เกี่ยวข้อง

  • ./permission-modes - โหมด permissions ต่าง ๆ
  • ./hooks-guide - ใช้ hooks เพื่อจัดการ permissions อัตโนมัติ