2 분 소요

리눅스 사용자 계정을 운영하다 보면 수정, 삭제, 패스워드 만료 관리 작업이 자주 발생합니다. 이번 글에서는 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 기본값보안 정책을 설정할 수 있습니다.

카테고리:

업데이트:

댓글남기기