usermod — 계정 속성 변경
Linux / 사용자 및 보안 관리 / usermod.html
💬 "usermod 명령어"
usermod는 기존 계정의 속성을 바꿉니다. 가장 흔한 용도는 보조 그룹 추가입니다.
-aG를 쓰지 않고 -G만 쓰면 기존 보조 그룹이 전부 사라지니 주의합니다.
- 개념: 계정의 그룹, 셸, 홈 등 속성을 변경합니다.
- -aG: 기존 그룹을 유지하며 그룹을 추가합니다.
- -s: 로그인 셸을 변경합니다.
- -L/-U: 계정 잠금/해제합니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
-aG <그룹> | 보조 그룹을 추가(기존 유지) |
-s <셸> | 로그인 셸 변경 |
-d <홈> -m | 홈 디렉터리 변경과 이동 |
-L | 계정을 잠급니다 |
필수 명령어 조합 3가지
usermod -aG www-data myapp— 웹서버 그룹에 추가usermod -aG docker deploy— 도커 실행 권한 부여id deploy— 그룹 변경 결과 확인
💬 "실수로 지우기 전에 확인하는 절차 예시 부탁해"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 현재 그룹 확인
변경 전 상태를 봅니다.
id deploy
2단계 · 그룹 추가
-aG로 기존 그룹을 유지하며 추가합니다.
usermod -aG www-data deploy
3단계 · 재로그인 및 확인
그룹 변경은 새 세션부터 적용됩니다.
id deploy
실무에서는 이렇게 씁니다
1. 배포 사용자에게 서비스 그룹 부여
상황 — 배포 계정이 웹 루트를 읽고 써야 합니다.
usermod -aG www-data deploy && id deploy
결과 — 보조 그룹에 www-data가 추가됩니다.
포인트 — 기존 그룹을 지우는 -G 단독 사용은 금지입니다.
2. 계정 잠금
상황 — 퇴사자 계정을 즉시 막아야 합니다.
usermod -L -s /usr/sbin/nologin olduser
결과 — 로그인이 차단되고 셸도 막힙니다.
포인트 — 키 인증까지 막으려면 authorized_keys도 정리합니다.
주의할 점
- -G 단독은 보조 그룹을 덮어씁니다. 반드시 -aG를 씁니다.
- 그룹 변경은 현재 로그인 세션에 즉시 반영되지 않습니다.
- 홈 이동(-m)은 대용량에서 시간이 걸리고 실패 시 위치가 어긋날 수 있습니다.
실제 실행 화면
보조 그룹을 추가하고 결과를 확인한 결과입니다.

실제 운영 중인 서버
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.