리눅스 계정 수정·삭제·만료 관리 명령어
리눅스 사용자 계정을 운영하다 보면 수정, 삭제, 패스워드 만료 관리 작업이 자주 발생합니다. 이번 글에서는 usermod, userdel, chage 명령어를 중심으로 계정 정보를 효율적으로 수정·관리·통제하는 방법을 쉽게 설명드리겠습니다.
1. usermod – 사용자 정보 변경
설명
usermod는 기존 사용자 계정의 속성값을 변경하는 명령어입니다. 홈 디렉토리 경로, 그룹, 셸, 만료일 등 다양하게 수정 가능합니다.
⚠️ 루트(root) 권한으로만 실행 가능
주요 옵션과 예시
| 옵션 | 설명 | 예시 |
|---|---|---|
-d |
홈 디렉토리 변경 | usermod -d /data/devuser devuser |
-d -m |
홈 디렉토리 이동 및 생성 | usermod -d /data/devuser -m devuser |
-G |
보조 그룹 지정 | usermod -G docker,developers devuser |
기본 그룹(primary group)을 바꾸려면 -g 옵션을 사용하세요.
사용 전 확인 팁
id devuser명령어로 현재 UID, GID, 그룹 정보 확인- 변경 후
ls -ld /new/home/path로 퍼미션 점검
2. userdel – 사용자 계정 삭제
설명
userdel은 시스템에서 사용자 계정을 완전히 제거하는 명령어입니다. 계정 삭제 시 /etc/passwd, /etc/shadow, /etc/group 등에서 관련 정보가 제거됩니다.
사용 형식
| 작업 유형 | 명령어 예시 |
|---|---|
| 사용자 삭제 (홈 디렉토리 유지) | userdel devuser |
| 사용자 + 홈 디렉토리 삭제 | userdel -r devuser |
⚠️ 프로세스 실행 중인 사용자는 삭제가 불가하므로, pkill -u username 등으로 사전 종료 필요합니다.
3. chage – 패스워드 만료 정책 설정
설명
chage는 패스워드의 만료 주기·최소 사용일·계정 만료일 등을 관리합니다. 보안이 중요한 서버에서 정기적인 비밀번호 갱신을 강제할 수 있습니다.
주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
-l |
현재 설정 조회 | chage -l devuser |
-M |
패스워드 최대 사용일 설정 | chage -M 90 devuser |
-m |
패스워드 최소 사용일 설정 | chage -m 7 devuser |
-E |
계정 만료일 지정 | chage -E 2024-12-31 devuser |
출력 예시 (chage -l)
Last password change : May 18, 2025
Password expires : Aug 16, 2025
Password inactive : never
Account expires : Dec 31, 2024
Minimum number of days between password change : 7
Maximum number of days between password change : 90
설정을 GUI처럼 쉽게 바꾸고 싶다면 sudo chage devuser로 대화형 설정도 가능합니다.
실전 예제: 개발자 계정 운영 자동화
# 1. devuser의 홈 디렉토리를 /srv/devuser로 변경 및 이동
sudo usermod -d /srv/devuser -m devuser
# 2. docker 및 qa 그룹에 추가
sudo usermod -G docker,qa devuser
# 3. 비밀번호 유효 기간 90일, 최소 사용 기간 7일
sudo chage -M 90 -m 7 devuser
# 4. 계정 유효일은 연말까지
sudo chage -E 2024-12-31 devuser
질문 정리
기존 사용자에게 새로운 홈 디렉토리를 적용하려면?
usermod -d /new/path -m username
m옵션이 없으면 디렉토리만 변경되고 데이터는 이동되지 않습니다.
사용자 계정 삭제 시 프로세스 충돌은 어떻게 처리하나요?
userdel 전에 아래 명령으로 해당 사용자의 프로세스를 강제로 종료하세요.
pkill -u username
chage 설정이 적용되지 않는 이유는?
기존 비밀번호의 갱신 시점부터 새 설정이 적용됩니다. 설정만 바꿔도 기존 만료일은 유지됩니다.
비밀번호가 없는 계정도 삭제 가능한가요?
예. 비밀번호 여부와 관계없이 userdel 명령은 계정 메타 정보만 기준으로 작동합니다.
사용자 기본 설정은 어디서 변경하나요?
/etc/default/useradd와 /etc/login.defs에서 useradd 기본값과 보안 정책을 설정할 수 있습니다.
댓글남기기