사용자와 그룹 관리
리눅스는 다중 사용자 시스템으로 설계되어 있어, 사용자 및 그룹 관리는 매우 중요하다.
아래는 사용자의 생성, 수정, 삭제 및 그룹 설정에 대한 실무적인(실무해본 적 없음…) 내용 정리입니다!
사용자 계정 파일
/etc/passwd
: 사용자 계정 정보- 형식:
username:x:UID:GID:comment:home_directory:shell
, 총 7개의 필드 (: 는 구분자)- username : 이름 (root, user 등)
- x : 사용자 비밀번호로 과거에는 암호화된 비밀번호 값이 나왔으나, 현재는 x ->
/etc/shadow
에서 확인 가능 - 유저 id
- 그룹 id :
/etc/group
에서 확인 가능 - 코멘트 :
useradd - c "commetn"
, 생략 가능한 필드(생략시 빈 값) - Home 경로 : root는
/root
, user는/home/user
- Shell 종류 :
/bin/bash
에서도 확인 가능
- 형식:
/etc/shadow
: 사용자 비밀번호 및 만료 정보 (암호화 저장됨)- 8개의 필드,
chage -l username
하면 친절한(?) 버전으로 확인 가능- username
- 암호화된 비밀번호
- 비밀번호 바꾼 일자 : 1970.1.1 부터 최신 비밀번호 변경일까지 경과 기간
- 비밀번호 최소 유지 기간 : 0이면 계속 바꿀 수 있음
- 비밀번호 최대 유지 기간 : default값은 99999
- 비밀번호 만료 n일전 알려주기 : default = 7
- 유예날짜 : 최대 유지기간 지나도 이정도 기간만큼은 계정 사용 가능
- 기간 만료 날짜
- 8개의 필드,
/etc/group
: 그룹 정보 저장
사용자 관련 명령어
사용자 생성
useradd [옵션] 사용자명
-n
: 사용자 이름과 동일한 그룹을 자동으로 생성하지 않도록 함-d
: 홈 디렉토리 지정-g
: 그룹 지정 / -G : 추가 그룹 지정-s
: 사용할 셸 지정-u
: userid 값 지정-m
: 홈 디렉토리 생성 (래드햇 리눅스는 이 옵션 없어도 자동 생성)
사용 예
useradd -m -s /bin/bash testuser
: 홈 디렉토리 생성 및 기본 셸 설정useradd -u 1500 -g developers devuser
: UID와 기본 그룹 설정useradd -d /data/home -s /bin/sh devuser
: 홈 디렉토리 및 셸 변경
비밀번호 설정: shadow 파일에 암호화된 비밀번호가 아닌 !! 가 뜬다면 비밀번호 세팅이 안 되어 있다는 뜻!
passwd 사용자명
사용자 정보 변경
usermod [옵션] 사용자명
사용자 삭제
userdel [옵션] 사용자명
-r
: 홈 디렉토리까지 삭제
그룹 관리 명령어
groupadd 그룹명
groupmod -n 새이름 기존그룹명
groupdel 그룹명
- 사용자 그룹 지정
usermod -g 기본그룹 사용자명
usermod -aG 추가그룹 사용자명
비밀번호 만료 설정: chage
chage [옵션] 사용자명
-l
: 소문자 L, 현재 비밀번호 만료 정보 확인, shadow 파일에서 보이는 정보를 예쁘게 볼 수 있다!-M
: 최대 유지 기간 설정-m
: 최소 유지 기간 설정-W
: 경고 일수-E
: 계정 만료 날짜-I
: 대문자 i, 유예기간 설정
chage -E 2025-12-31 kim // 예) kim 계정은 연말이면 끝