[인프라진단] #U-10 동일한 UID 금지
1. 항목 설명
서로 다른 계정이 같은 UID를 사용하면 파일 권한과 감사 로그에서 실제 사용자를 구분할 수 없습니다. 한 계정의 권한이 다른 계정에 그대로 공유될 수도 있습니다.
판단 기준: 모든 사용자 계정의 UID가 고유하면 양호, 둘 이상의 계정이 같은 UID를 사용하면 취약입니다.
2026 가이드 근거

2. 점검 목적
계정별 권한과 행위 추적을 명확히 하여 권한 공유와 책임 추적 실패를 방지하는 것이 목적입니다.
3. 실습 환경
- 운영체제: Ubuntu Server 24.04.2 LTS
- 커널: Linux 6.8.0-53-generic
- 가상화 환경: VMware Workstation
- 호스트 이름: u-lab
- 수집 방식: VMware Ubuntu VM 콘솔에서 진단 명령 실행 및 화면 캡처
- 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
- 실행 ID: 20260903-085839
취약 상태와 조치 상태의 반복 구성에는 격리된 Host-only 관리 연결을 보조적으로 사용했습니다. 단, 판단 명령과 결과는 Ubuntu VM 콘솔에서 직접 확인하고 VMware 콘솔 원본 화면으로 캡처했으며 외부 네트워크 경로는 두지 않았습니다.
4. 취약 상태 구성
실습 계정 u10a와 u10b를 동일한 UID 5910으로 생성했습니다. 두 계정 모두 홈과 로그인 셸이 없는 격리 실습용 계정입니다.
이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.
구성 방법
sudo useradd -u 5910 -g nogroup -M -N -s /usr/sbin/nologin u10a
sudo useradd -o -u 5910 -g nogroup -M -N -s /usr/sbin/nologin u10b
구성 후 다음 명령으로 실제 상태를 확인했습니다.
getent passwd u10a u10b | awk -F: '{print $1, $3}'
5. 최초진단 결과
- 판정: 취약
- VM 콘솔 판정 근거: u10a와 u10b가 모두 UID 5910으로 확인되었습니다.

6. 조치 방법
u10b에 사용되지 않는 UID 5911을 부여해 중복을 해소했습니다. 이행 증적 수집 후 두 실습 계정은 삭제했습니다.
sudo usermod -u 5911 u10b
getent passwd u10a u10b | awk -F: '{print $1, $3}'
Linux 설정 확인 위치: /etc/passwd의 UID 필드와 getent passwd 결과

7. 이행진단 결과
- 판정: 양호
- VM 콘솔 판정 근거: u10a는 UID 5910, u10b는 UID 5911로 각각 고유하게 확인되었습니다.

8. 실무 주의사항
UID 변경은 계정 DB만 바꾸는 작업이 아닙니다. 로컬 파일, NFS, 백업, 컨테이너 볼륨에 숫자 UID가 남으면 소유권이 끊길 수 있습니다.
컨설턴트 조언
- getent passwd로 NSS 전체 소스를 조회해 로컬과 LDAP UID 충돌도 확인합니다.
- UID 변경 전 대상 계정의 파일, 프로세스, NFS와 애플리케이션 매핑을 조사합니다.
- 변경 후 숫자 UID로 남은 파일을 찾아 새 UID로 소유권을 이전하고 서비스를 재시험합니다.
- 레거시 호환 목적으로 중복 UID가 필요하다는 주장에는 범위, 보완 통제와 종료 계획을 요구합니다.
9. 마무리
UID는 계정마다 고유하게 유지하고 변경 시 파일 소유권과 외부 시스템 연동까지 함께 정리해야 합니다.
'2026 주요정보통신기반시설 가이드 > Unix(Linux)' 카테고리의 다른 글
| [인프라진단] #U-12 세션 종료 시간 설정 (0) | 2026.09.03 |
|---|---|
| [인프라진단] #U-11 사용자 shell 점검 (0) | 2026.09.03 |
| [인프라진단] #U-09 계정이 존재하지 않는 GID 금지 (0) | 2026.09.03 |
| [인프라진단] #U-08 관리자 그룹에 최소한의 계정 포함 (0) | 2026.09.03 |
| [인프라진단] #U-07 불필요한 계정 제거 (0) | 2026.09.03 |