사용자명 충돌 해결
서버의 기존 시스템 사용자와 Alpacon IAM 사용자 간 UID 충돌을 해결하는 방법입니다.
충돌 발생 원인
사용자 충돌은 UID (User ID) 중복으로 발생합니다:
- Alpacon 사용 전 서버에 기존 사용자가 있음
- Alpamon 에이전트 설치 및 연결
- IAM 사용자의 UID와 동일한 UID를 가진 시스템 사용자가 이미 존재 (다른 사용자명)
- IAM 사용자가 websh, webftp, deploy shell 사용 시도
UID가 이미 다른 사용자에게 할당되어 있으면 IAM 사용자는 해당 기능을 사용할 수 없습니다.
충돌 확인
오류 메시지
충돌 발생 시 다음과 같은 오류 메시지가 표시됩니다:
User conflict detected: UID already in use
서버 상세 페이지
- 서버 상세 페이지로 이동
- Access 탭 선택
- 충돌하는 사용자 확인
해결 방법
Alpacon은 의도적으로 사용자 충돌을 자동으로 해결하지 않습니다. 사용자가 완전한 제어권을 유지하도록 하기 위함입니다.
1. UID 확인
서버에 로그인하여 현재 UID 확인:
cat /etc/passwd
출력 형식: username:x:UID:GID:...
2. 해결 옵션 선택
옵션 1: 기존 사용자 삭제
더 이상 필요하지 않은 기존 사용자를 삭제:
# 사용자만 삭제
sudo userdel <USER_NAME>
# 사용자와 홈 디렉토리 모두 삭제
sudo userdel -r <USER_NAME>
옵션 2: 기존 사용자의 UID 변경
기존 사용자를 유지하면서 UID만 변경:
sudo usermod -u <NEW_UID> <USER_NAME>
새 UID는 충돌하지 않는 값으로 선택하세요.
3. 에이전트 동기화
변경 후 Alpamon 에이전트에 동기화:
sudo systemctl restart alpamon
또는 Alpacon 웹 UI에서:
- 서버 목록으로 이동
- 해당 서버 선택
- Agent Restart 실행
주의사항
⚠️ 중요:
- 이러한 작업은 시스템 동작에 영향을 줄 수 있습니다
- 부작용이 없는지 확인 후 진행하세요
- AlpacaX는 이 명령어 실행으로 인한 문제에 책임지지 않습니다
권장 사항:
- 프로덕션 서버에서는 먼저 테스트 서버에서 시도
- 변경 전 백업 생성
- 변경 후 관련 서비스 정상 작동 확인
충돌 방지
초기 설정
서버 등록 전:
- 기존 사용자 UID 확인
- Alpacon IAM 사용자 UID와 겹치지 않도록 계획
- 가능하면 높은 범위의 UID 사용 (예: 10000 이상)
UID 정책
워크스페이스에서 UID 할당 정책 수립:
- 특정 범위의 UID만 사용
- 기존 시스템 사용자와 분리된 범위 사용
문제 해결
변경 후에도 충돌이 계속되는 경우:
- 에이전트 재시작 확인
- 에이전트 로그 확인:
sudo journalctl -u alpamon -n 50
- 서버 상세 페이지에서 Access 탭 재확인
변경 후 서비스가 작동하지 않는 경우:
- 변경된 사용자가 소유한 파일 권한 확인
- 필요시 파일 소유권 변경:
sudo find /path -user <OLD_UID> -exec chown <NEW_UID> {} \;