--- title: usermod — 계정 속성 변경 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 사용자의 그룹·셸·홈을 변경하는 명령어. 보조 그룹 추가에서 특히 자주 씁니다. tags: 프로그램, 사용자 및 보안 관리, usermod --- **💬 "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)은 대용량에서 시간이 걸리고 실패 시 위치가 어긋날 수 있습니다. ## 실제 실행 화면 보조 그룹을 추가하고 결과를 확인한 결과입니다. ![usermod 명령어 실행 결과: 그룹 추가 확인](https://games.cursorai.co.kr/assets/usermod-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/security/usermod.html