Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

สิทธิ์บน macOS (TCC)

  1. การอนุญาตสิทธิ์ของ macOS มีความเปราะบาง การให้สิทธิ์บน macOS มีความเปราะบาง TCC จะผูกการให้สิทธิ์กับลายเซ็นโค้ดของแอป bundle identifier และพาธบนดิสก์ หากอย่างใดอย่างหนึ่งเปลี่ยนไป macOS จะถือว่าแอปเป็นตัวใหม่ และอาจลบหรือซ่อนพรอมต์การขอสิทธิ์ 29. หากสิ่งใดสิ่งหนึ่งเปลี่ยนไป macOS จะมองว่าแอปเป็นแอปใหม่ และอาจยกเลิกหรือซ่อนพรอมต์

ข้อกำหนดเพื่อให้สิทธิ์มีความเสถียร

  • พาธเดียวกัน: รันแอปจากตำแหน่งคงที่ (สำหรับ OpenClaw คือ dist/OpenClaw.app).
  • bundle identifier เดิม: การเปลี่ยน bundle ID จะสร้างอัตลักษณ์สิทธิ์ใหม่
  • แอปที่เซ็นลายเซ็น: บิลด์ที่ไม่เซ็นหรือเซ็นแบบ ad-hoc จะไม่คงสิทธิ์
  • ลายเซ็นสม่ำเสมอ: ใช้ใบรับรอง Apple Development หรือ Developer ID จริง เพื่อให้ลายเซ็นคงที่ข้ามการรีบิลด์
  1. ลายเซ็นแบบ ad-hoc จะสร้างตัวตนใหม่ทุกครั้งที่บิลด์ ลายเซ็นแบบ ad-hoc จะสร้างอัตลักษณ์ใหม่ทุกครั้งที่บิลด์ macOS จะลืมสิทธิ์ที่ให้ไว้ก่อนหน้า และพรอมต์อาจหายไปทั้งหมดจนกว่าจะล้างรายการค้างเก่า

เช็กลิสต์การกู้คืนเมื่อพรอมต์หายไป

  1. ปิดแอป
  2. ลบรายการแอปใน System Settings -> Privacy & Security
  3. เปิดแอปอีกครั้งจากพาธเดิมและให้สิทธิ์ใหม่
  4. หากพรอมต์ยังไม่ขึ้น ให้รีเซ็ตรายการ TCC ด้วย tccutil แล้วลองอีกครั้ง
  5. บางสิทธิ์จะกลับมาเฉพาะหลังรีสตาร์ต macOS ทั้งระบบ

ตัวอย่างการรีเซ็ต (เปลี่ยน bundle ID ตามต้องการ):

sudo tccutil reset Accessibility bot.molt.mac
sudo tccutil reset ScreenCapture bot.molt.mac
sudo tccutil reset AppleEvents

สิทธิ์ไฟล์และโฟลเดอร์ (Desktop/Documents/Downloads)

  1. macOS อาจจำกัดการเข้าถึง Desktop, Documents และ Downloads สำหรับโปรเซสแบบเทอร์มินัล/เบื้องหลังด้วย macOS อาจควบคุมการเข้าถึง Desktop, Documents และ Downloads สำหรับโปรเซสแบบเทอร์มินัลหรือเบื้องหลังด้วย หากการอ่านไฟล์หรือการแสดงรายการไดเรกทอรีค้าง ให้ให้สิทธิ์กับบริบทโปรเซสเดียวกันที่ทำงานไฟล์ (เช่น Terminal/iTerm, แอปที่เปิดด้วย LaunchAgent หรือโปรเซส SSH)

ทางแก้ชั่วคราว: ย้ายไฟล์ไปยังเวิร์กสเปซของ OpenClaw (~/.openclaw/workspace) หากต้องการหลีกเลี่ยงการให้สิทธิ์รายโฟลเดอร์

หากคุณกำลังทดสอบสิทธิ์ ควรเซ็นด้วยใบรับรองจริงเสมอ บิลด์แบบ ad-hoc เหมาะเฉพาะการรันภายในเครื่องอย่างรวดเร็วที่สิทธิ์ไม่สำคัญ 32. บิลด์แบบ ad-hoc เหมาะสมเฉพาะสำหรับการรันภายในเครื่องแบบรวดเร็วที่ไม่สนใจเรื่องสิทธิ์