Skip to content

macOS 권한 (TCC)

macOS 권한 부여는 취약합니다. TCC는 앱의 코드 서명, 번들 식별자, 디스크 경로와 권한 부여를 연결합니다. 이 중 하나가 변경되면 macOS는 앱을 새것으로 취급하고 프롬프트를 삭제하거나 숨길 수 있습니다.

안정적인 권한을 위한 요구 사항

  • 동일한 경로: 고정된 위치에서 앱을 실행합니다 (OpenClaw의 경우 dist/OpenClaw.app).
  • 동일한 번들 식별자: 번들 ID를 변경하면 새 권한 ID가 생성됩니다.
  • 서명된 앱: 서명되지 않았거나 애드혹 서명된 빌드는 권한을 영구적으로 유지하지 않습니다.
  • 일관된 서명: 서명이 재빌드 간에 안정적으로 유지되도록 실제 Apple Development 또는 Developer ID 인증서를 사용하십시오.

애드혹 서명은 빌드마다 새로운 ID를 생성합니다. macOS는 이전 부여를 잊어버리고 오래된 항목이 지워질 때까지 프롬프트가 완전히 사라질 수 있습니다.

프롬프트가 사라질 때 복구 체크리스트

  1. 앱을 종료합니다.
  2. 시스템 설정 -> 개인 정보 보호 및 보안에서 앱 항목을 제거합니다.
  3. 동일한 경로에서 앱을 다시 시작하고 권한을 다시 부여합니다.
  4. 프롬프트가 여전히 표시되지 않으면 tccutil로 TCC 항목을 재설정하고 다시 시도합니다.
  5. 일부 권한은 macOS를 완전히 재시작한 후에만 다시 나타납니다.

재설정 예시 (필요에 따라 번들 ID 교체):

bash
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents

파일 및 폴더 권한 (데스크탑/문서/다운로드)

macOS는 터미널/백그라운드 프로세스에 대해 데스크탑, 문서, 다운로드를 게이트할 수 있습니다. 파일 읽기 또는 디렉터리 목록이 중단되면 파일 작업을 수행하는 동일한 프로세스 컨텍스트 (예: Terminal/iTerm, LaunchAgent가 시작한 앱, 또는 SSH 프로세스)에 접근 권한을 부여하십시오.

해결 방법: 폴더별 부여를 피하려면 파일을 OpenClaw 작업 공간 (~/.openclaw/workspace)으로 이동하십시오.

권한을 테스트하는 경우 항상 실제 인증서로 서명하십시오. 애드혹 빌드는 권한이 중요하지 않은 빠른 로컬 실행에만 허용됩니다.