สรุปคำตอบ: ทำไมต้องจัดการสิทธิ์ระบบไฟล์?
Claude Code มีความสามารถในการอ่านและเขียนไฟล์บนเครื่องของคุณได้โดยตรง แต่การจัดการสิทธิ์อย่างเหมาะสมจะช่วยป้องกันไม่ให้ AI เข้าถึงไฟล์สำคัญผิดพลาด ลบข้อมูลสำคัญ หรือสร้างความเสียหายต่อโปรเจกต์ บทความนี้จะอธิบายวิธีตั้งค่าขอบเขตการทำงาน (Scope) การกำหนด Allowed/Denied Tools และแนวทางปฏิบัติที่ดีที่สุดในการใช้ Claude Code อย่างปลอดภัย
สำหรับนักพัฒนาที่ต้องการใช้ Claude API ผ่าน
HolySheep AI ซึ่งให้บริการด้วยอัตราที่ประหยัดกว่า 85% พร้อมความหน่วงต่ำกว่า 50ms และรองรับการชำระเงินผ่าน WeChat/Alipay สามารถสมัครใช้งานได้ทันที
พื้นฐาน: Claude Code ทำงานอย่างไรกับระบบไฟล์
Claude Code ใช้ MCP Tools สำหรับการโต้ตอบกับระบบไฟล์ โดยมีเครื่องมือหลักดังนี้:
- Read - อ่านไฟล์ในโปรเจกต์
- Write - เขียนหรือสร้างไฟล์ใหม่
- Edit - แก้ไขไฟล์ที่มีอยู่
- Glob - ค้นหาไฟล์ตามรูปแบบ
- Bash - รันคำสั่ง Shell (มีความเสี่ยงสูง)
โดยค่าเริ่มต้น Claude Code จะสแกนและทำงานในไดเรกทอรีปัจจุบันที่ถูกเรียกใช้งาน
วิธีตั้งค่าขอบเขตการทำงานด้วย --allowedTools
คุณสามารถจำกัดเครื่องมือที่ Claude Code สามารถใช้ได้ผ่าน Command Line:
claude --allowedTools "Read,Edit,Glob"
หรือกำหนดในไฟล์ ~/.claude/settings.json:
{
"allowedTools": ["Read", "Edit", "Glob", "Write"],
"deniedTools": ["Bash"],
"maxFileSize": 1048576
}
การตั้งค่า Project Scope ใน CLAUDE.md
สร้างไฟล์ CLAUDE.md ในโปรเจกต์เพื่อกำหนดขอบเขตการทำงาน:
# Project Scope
ห้ามอ่านไฟล์นอกโฟลเดอร์ src/
ห้ามรันคำสั่ง rm -rf หรือคำสั่งลบข้อมูลถาวร
การเขียนไฟล์ใหม่ต้องอยู่ในโฟลเดอร์ dist/ เท่านั้น
ข้อจำกัด:
- ห้ามแก้ไขไฟล์ .env หรือ config ระบบ
- ห้ามสร้างไฟล์นอกโปรเจกต์
- การใช้ Bash ต้องได้รับอนุญาตก่อนเสมอ
การใช้งานผ่าน API กับ HolySheep AI
หากคุณต้องการเรียกใช้ Claude ผ่าน API สำหรับระบบอัตโนมัติ สามารถใช้ HolySheep AI ได้โดยตั้งค่าดังนี้:
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_HOLYSHEEP_API_KEY",
base_url="https://api.holysheep.ai/v1"
)
กำหนด System Prompt สำหรับจำกัดสิทธิ์
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="คุณมีสิทธิ์อ่านและเขียนไฟล์ในโฟลเดอร์ /project/src เท่านั้น ห้ามเข้าถึงไฟล์นอกโปรเจกต์",
messages=[{"role": "user", "content": "อ่านไฟล์ config.json ให้หน่อย"}]
)
print(response.content)
ตารางเปรียบเทียบบริการ Claude API
| บริการ |
ราคา/MTok |
ความหน่วง |
วิธีชำระเงิน |
รุ่นที่รองรับ |
ทีมที่เหมาะสม |
| HolySheep AI |
$0.42 - $15 |
<50ms |
WeChat, Alipay, USDT |
Claude 4.5, 4.1, Opus |
ทีม Startup, นักพัฒนารายบุคคล |
| API ทางการ (Anthropic) |
$3 - $75 |
100-300ms |
บัตรเครดิต, Wire Transfer |
Claude 4, 3.5, 3 Opus |
องค์กรใหญ่, Enterprise |
| Azure OpenAI |
$2.50 - $60 |
80-200ms |
Azure Subscription |
Claude 3.5 via API |
องค์กรที่ใช้ Microsoft Ecosystem |
| OpenRouter |
$0.50 - $18 |
60-250ms |
บัตรเครดิต, Crypto |
Claude 4, 3.5 |
นักพัฒนาที่ต้องการความยืดหยุ่น |
แนวทางปฏิบัติที่ดีที่สุดในการจัดการสิทธิ์
- ใช้หลักการ Least Privilege - ให้สิทธิ์เท่าที่จำเป็นต่ำสุดเสมอ
- แยก Environment - Development, Staging, Production ควรมีสิทธิ์แตกต่างกัน
- บันทึก Audit Log - ติดตามว่า Claude Code ทำอะไรกับไฟล์บ้าง
- ทดสอบก่อนใช้งานจริง - ใช้ --preview หรือ Dry Run ก่อนรันคำสั่ง
- กำหนด CLAUDE.md ในทุกโปรเจกต์ - ช่วยให้ Claude เข้าใจขอบเขตที่กำหนด
ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข
กรณีที่ 1: ได้รับข้อผิดพลาด "Permission denied" เมื่อพยายามเขียนไฟล์
# สาเหตุ: ไม่มีสิทธิ์เขียนในไดเรกทอรีปลายทาง
วิธีแก้ไข: ตรวจสอบสิทธิ์ของไดเรกทอรีและเปลี่ยนเจ้าของ
ตรวจสอบสิทธิ์
ls -la /project/src
แก้ไขสิทธิ์ให้เขียนได้
chmod 755 /project/src
หรือเปลี่ยนเจ้าของ
sudo chown -R $USER:$USER /project/src
กรณีที่ 2: Claude เข้าถึงไฟล์นอกขอบเขตโปรเจกต์
# สาเหตุ: ไม่ได้กำหนด Working Directory หรือใช้ absolute path
วิธีแก้ไข: กำหนด --project-root และเพิ่ม CLAUDE.md
รัน Claude Code ในขอบเขตโปรเจกต์เท่านั้น
cd /your/project
claude --project-root /your/project --allowedTools "Read,Edit,Glob"
เพิ่ม CLAUDE.md ในโปรเจกต์
echo "# ขอบเขตโปรเจกต์นี้เท่านั้น" > /your/project/CLAUDE.md
echo "ห้ามอ่านหรือเขียนไฟล์นอก /your/project" >> /your/project/CLAUDE.md
กรณีที่ 3: ได้รับข้อผิดพลาด 401 Unauthorized เมื่อใช้ API
# สาเหตุ: API Key ไม่ถูกต้องหรือหมดอายุ
วิธีแก้ไข: ตรวจสอบและอัปเดต API Key
ตรวจสอบว่าใช้ base_url ที่ถูกต้อง
สำหรับ HolySheep AI:
export ANTHROPIC_API_KEY="YOUR_HOLYSHEEP_API_KEY"
export ANTHROPIC_BASE_URL="https://api.holysheep.ai/v1"
ทดสอบการเชื่อมต่อ
curl -X POST "https://api.holysheep.ai/v1/messages" \
-H "x-api-key: YOUR_HOLYSHEEP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-20250514","messages":[{"role":"user","content":"test"}]}'
กรณีที่ 4: Claude ลบไฟล์ผิดพลาดโดยไม่ได้ตั้งใจ
# สาเหตุ: ไม่ได้จำกัดคำสั่ง Bash หรือใช้ rm โดยไม่ระวัง
วิธีแก้ไข: ปิดคำสั่ง Bash และใช้ --allowedTools
รัน Claude Code โดยไม่อนุญาตคำสั่ง Bash
claude --deniedTools "Bash"
หรือกำหนดใน settings.json
~/.claude/settings.json
{
"deniedTools": ["Bash", "Write"],
"requireConfirmation": ["Edit", "Delete"]
}
สรุป
การจัดการสิทธิ์ระบบไฟล์ใน Claude Code เป็นสิ่งสำคัญสำหรับความปลอดภัยของโปรเจกต์ การใช้ --allowedTools, --deniedTools และการสร้าง CLAUDE.md จะช่วยควบคุมไม่ให้ Claude เข้าถึงไฟล์หรือทำการเปลี่ยนแปลงที่ไม่พึงประสงค์ สำหรับทีมพัฒนาที่ต้องการประหยัดค่าใช้จ่ายและได้ประสิทธิภาพสูง
สมัครใช้งาน HolySheep AI วันนี้เพื่อรับเครดิตฟรีเมื่อลงทะเบียน
👉
สมัคร HolySheep AI — รับเครดิตฟรีเมื่อลงทะเบียน
แหล่งข้อมูลที่เกี่ยวข้อง
บทความที่เกี่ยวข้อง