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 อัตโนมัติ