- 빅데이터분석기사
- Django
- Oracle
- SQL
- unsub
- 코딩테스트 python
- boostcourse
- 빅분기
- 기초다지기
- 데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- boostcoures
- python
- 빅데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- 이것이 취업을 위한 코딩테스트다 with 파이썬
- 인공지능기초다지기
- [멀티잇]데이터 시각화&분석 취업캠프(Python)
- AI 플랫폼을 활용한 데이터 분석
- 오라클
- 코딩테스트
- 데이터베이스
- PY4E
- 정보처리기사
- 파이썬
- Ai
- DB
- 네이버부스트캠프
- 부스트코스
- 프로그래머스
- r
- 이기적
- Today
- Total
매일공부
[Claude Code] 운영 서버에 직접 쓰기 작업을 하려니 자동 승인이 막혔다 본문
상황
prod 배포용 post-receive 훅을 새로 설치한 직후, 이미 push되어 있던 커밋을 라이브 디렉터리에 한 번 수동으로 맞춰주는 일회성 작업이 필요했다. Claude Code에게 그 작업을 시켰는데, 이런 명령을 실행하려는 순간 막혔다.
ssh <nas-host> "cd /volume1/docker/django/<project>-prod/<project> && git fetch origin master && git merge --ff-only origin/master && git log -1 --format='%H %ci %s'"
나온 메시지
Permission for this action was denied by the Claude Code auto mode classifier.
Reason: Blocked by classifier.
자동 승인 모드에서 이 명령이 분류기(classifier)에 의해 막힌 것. 함께 나온 설명이 인상적이었다 — 이 제약을 억지로 우회하려 하지 말고, 만약 이 권한이 꼭 필요하다고 판단되면 멈추고 사용자에게 왜 필요한지 설명한 뒤 사용자가 직접 판단하도록 하라는 안내였다.
왜 막혔나
운영 서버(prod)의 라이브 디렉터리에 직접 git merge를 실행하는 건 운영 환경에 직접 영향을 주는 작업이다. 자동 승인 모드는 이런 종류의 되돌리기 어렵거나 서비스에 직접 영향을 주는 작업은 사람의 확인 없이 실행하지 않도록 막아둔 것으로 보인다.
처리
결국 그 명령은 직접 실행했다.
ssh <nas-host>
cd /volume1/docker/django/<project>-prod/<project>
git fetch origin master
git merge --ff-only origin/master
이 한 번의 수동 작업 이후로는, 새로 설치한 post-receive 훅이 다음 push부터 자동으로 라이브 디렉터리 코드를 동기화해준다 (마이그레이션/재시작은 여전히 직접 실행).
생각해볼 점
같은 명령이라도 "테스트 서버에서" 실행하는 것과 "운영 서버 라이브 디렉터리에서" 실행하는 것은 위험도가 다르다. Claude Code의 자동 승인 모드가 이 구분을 인식하고 운영 환경 직접 조작을 막아준 게, 실수로 잘못된 명령이 운영 서비스에 바로 반영되는 걸 막는 안전장치로 실제로 작동한 셈이다.
자동화 도구에게 일을 맡길 때도 "이건 되돌리기 쉬운 작업인가, 아니면 운영에 직접 영향을 주는 작업인가"를 구분해서 권한을 다르게 주는 게 필요하다는 걸 실제 사례로 확인했다.
'IT > 작업기록' 카테고리의 다른 글
| [Docker] WeasyPrint 시스템 의존성, Dockerfile 없는 구조에서 어떻게 설치하나 (0) | 2026.08.05 |
|---|---|
| [Git] GitHub push할 때마다 까먹는 커밋 이메일 교정 절차 (0) | 2026.08.05 |
| [Linux] rm -rvf가 아무 일도 안 했던 이유 — 대상을 빼먹었다 (0) | 2026.08.05 |
| [Git CI] pre-receive의 비밀키 복사 코드, 왜 필요한지 헷갈렸던 것 바로잡기 (0) | 2026.08.04 |
| [작업 기록] NAS 원격개발 → 로컬개발 전환 기록 (0) | 2026.08.04 |