사용자 계정 관리 파일

파일 설명
/etc/login.defs 사용자 계정 생성시 필요한 설정의 기본값을 정의한 파일
/etc/default/useradd 사용자 계정 생성 명령어인 useradd의 실행 파일
/etc/passwd 사용자 계정에 관련된 정보를 가진 텍스트 파일
암호, UID, GID, 설명, 홈디렉토리, 기본셸 등의 정보를 가진다.
/etc/shadow 사용자 계정의 암호와 패스워드 에이징 정보를 가진 파일
패스워드 에이징 : 비밀번호 변경 기간 및 만료 관련
/etc/group 그룹 계정에 관련된 정보를 가진 텍스트 파일
그룹이름, 그룹비밀번호, GID, 구성원 리스트 등의 정보를 가진다.
/home/ 생성되는 사용자의 홈 디렉토리 경로
/etc/skel 사용자 홈 디렉터리가 생성될 때 기본으로 생성될 파일들의 원본을 가진 디렉터리

/etc/login.defs

-사용자 계정을 생성할 때 필요한 기본값을 정의한 파일

주요 항목 설명
UID_MIN 자동 할당 할 uid(유저 아이디) 값 중 최소 값
UID_MAX 자동 할당 할 uid(유저 아이디) 값 중 최대 값
GID_MIN 자동 할당 할 gid(그룹 아이디) 값 중 최소 값
GID_MAX 자동 할당 할 gid(그룹 아이디) 값 중 최대 값
USERGROUPS_ENAB 사용자 계정과 같은 이름의 그룹을 자동으로 만들지 여부
UMASK 기본 권한
HOME_MODE 홈 디렉터리 권한 모드 (0ugo) u, g, o 에는 각각 팔진수 권한을 넣어주면 됨
CREATE_HOME 홈 그룹을 자동으로 생성할지 여부

/etc/default/useradd

-useradd 명령이 참조하는 기본값을 설정한 파일

1
2
3
4
5
6
7
8
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
항목 설명
GROUP login.defs에 자동 생성이 꺼져있을 때, 사용자의 주 그룹으로 할당될 그룹을 지정
HOME 홈 디렉터리의 생성 위치 지정
INACTIVE 0 : 비밀번호 만료 후 즉시 계정 비활성화
-1 : 만효 후 계정 비활성화 기능 사용하지 않음
EXPIRE 계정의 만료일 기본값.
값이 없으면 계정의 만료일이 없는 것
SHELL 기본 셸의 종류 지정
SKEL skel 디렉터리의 위치
CREATE_MAIL_SPOOL  

/etc/passwd

-사용자 계정에 관한 정보를 가진 텍스트 파일
-라인 별로 사용자 계정의 정보가 저장된다.
-직접 수정은 권장되지 않는다. 명령어로 수정하는 것이 권장된다.
-각 라인은 콜론(:) 으로 구분되는 7개의 필드를 가진다.

1
2
3
cat /etc/passwd | grep tu_01
>> tu_01:x:1001:1002::/home/tu_01:/bin/bash
>> 사용자계정:암호:uid:gid:설명:홈디렉터리:기본셸

/etc/shadow

-사용자 계정의 암호 정보를 가짐
-사용자 계정의 패스워드 에이징(비밀번호 변경 기간 및 계정 만료 일자 관련) 정보를 가짐

1
2
cat /etc/shadow | grep tu_01
tu_01:abcdef:20052:0:99999:7:10:20054:
항목 예시값 설명
1번 tu_01 사용자 계정
2번 abcdef 암호화된 비밀번호
3번 20052 최종 비밀번호 변경일 (1970.01.01 부터 지난 일수)
4번 0 비밀번호 변경 후 재변경이 금지되는 기간
5번 99999 비밀번호 변경 후 다시 변경하지 않고 사용할 수 있는 기간
6번 7 비밀번호 만료일 전에 경고를 보내는 날짜 수
7번 10 비밀번호 만료 후 로그인이 가능한 날짜 수
8번 20054 사용자 계정의 만료일. 빈 값인 경우 계정 만료일이 없는 것
9번   예약 필드

/etc/group

-그룹 계정의 정보를 가진 텍스트파일
-라인마다 그룹 계정의 정보가 저장된다.
-라인은 콜론(:)으로 구분되는 4개의 필드를 가진다.
-자세한 내용은 그룹 관리 파일 포스트에서 다시 다룬다.

/etc/skel

-사용자 홈 디렉터리에 복사되는 파일들을 가진 폴더
-.bashrc, .bash_profile, .bash_logout 과 같은 파일이 있다.
-skeleton의 약자로, 뼈대가 되는 폴더라는 뜻을 가지고 있다.

1
2
3
4
5
6
7
8
ls -al /etc/skel

>> drwxr-xr-x.  2 root root   62 Sep 18 11:08 .
>> drwxr-xr-x. 91 root root 8192 Nov 26 01:40 ..
>> -rw-r--r--.  1 root root   18 Apr 30  2024 .bash_logout
>> -rw-r--r--.  1 root root  141 Apr 30  2024 .bash_profile
>> -rw-r--r--.  1 root root  492 Apr 30  2024 .bashrc

Reference

UNIX시스템 - 김희천,김진욱 저