티스토리 뷰
[리눅스/Linux] 사용자 계정 관련 파일 (/etc/passwd, /etc/shadow, /etc/login.defs, /etc/group,
hrniin 2021. 1. 29. 18:59
사용자(user) 관리
리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요
사용자 계정이 사용자를 구별하는 역할을 함
사용자 계정은 시스템 관리자의 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단
사용자 계정(user ID)과 관련된 파일
1) /etc/passwd
2) /etc/shadow
3) /etc/login.defs
4) /etc/group
5) /etc/gshdow
1) /etc/passwd
사용자 계정 정보가 저장된 기본 파일으로, 한 행에 사용자 한 명에 대한 정보가 기록되며, 쌍점(:)으로 구분되는 일곱 개 항목으로 이루어져 있다. 누구나 읽을 수 있도록 접근 권한이 설정되어 있다.
- 로그인 ID: 사용자 계정의 이름, 32자를 넘을 수 없으나 8자로 제한하는 것이 좋다
- x : 초기 유닉스 시스템에서 사용자 암호를 저장하던 항목, 요즘은 /etc/shadow 파일에 별도로 보관
- UID: 사용자 ID 번호로 시스템이 사용자를 구별하기 위해 사용하는 번호
0~999번과 65534번은 시스템 사용자를 위한 UID로 예약(0: root, 1: daemon, 2: bin, 7: lp 등)
일반 사용자들은 UID 1000번부터 할당
로그인 ID가 다르더라도 UID가 같으면 리눅스 시스템은 같은 사용자로 판단하기 때문에 UID가 중복되지 않았는지 주의해야 함.
- GID : 그룹 ID, 시스템에 등록된 그룹에 대한 정보는 /etc/group 파일에 저장
- 설명 : 사용자의 실명이나 부서명, 연락처 등 사용자에 대한 일반적인 정보가 기록
- 홈 디렉터리 : 사용자 계정에 할당된 홈 디렉터리의 절대 경로를 기록
- 로그인 셸 : 사용자의 로그인 셸을 지정, 우분투에서는 배시 셸(/bin/bash)을 기본 셸로 사용
2) /etc/shadow
사용자 암호에 관한 정보를 별도로 관리하는 파일으로, root 계정으로만 내용을 볼 수 있다.
- 로그인 ID : 사용자 계정 이름
- 암호(패스워드) : 실제 비밀번호가 암호화되어 저장
- 최종 변경일 : 암호가 마지막으로 변경된 날짜를 지정. 1970년 1월 1일을 기준으로 날수를 기록
- MIN : MIN은 암호를 변경한 후 사용해야 하는 최소 기간
- MAX : 암호를 사용할 수 있는 최대 기간
- WARNING : 암호가 만료되기 전에 경고를 시작하는 날수
- INACTIVE : 암호가 만료된 후에도 이 항목에 지정한 날수 동안은 로그인이 가능
- EXPIRE : 사용자 계정이 만료되는 날
- Flag : 향후 사용할 목적으로 비워둔 항목
3) /etc/login.defs
사용자 계정의 설정과 관련된 기본 값을 정의한 파일.
4) /etc/group
그룹에 대한 정보가 저장된 파일으로, /etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹이며, 사용자가 속한 2차 그룹은 /etc/group 파일에 지정한다.
- 그룹 이름 : 그룹의 이름
- x : 그룹의 암호를 저장하는 곳
여기에 암호화된 그룹 암호를 저장하거나 /etc/gshadow 파일에 그룹 암호를 저장
- GID : 그룹을 식별하는 번호
- 그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 이름이며 쉼표(,)로 사용자를 구별
사용자의 2차 그룹
5) /etc/gshdow
그룹 암호가 저장
원래 유닉스에는 없는 파일로 리눅스에서 별도로 만든 파일
- 그룹 이름 : 그룹의 이름
- 그룹 암호 : 암호화된 그룹의 암호
- 관리자 : 그룹의 암호나 멤버를 바꿀 수 있는 사용자 계정. 여러 개일 경우 쉼표(,)로 구분
- 그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 이름이며 쉼표(,)로 사용자를 구별
'cs > linux' 카테고리의 다른 글
[리눅스/Linux] 그룹 관리 명령 사용법 (groupadd, addgroup, groupmod, groupdel , gpasswd, newg (0) | 2021.01.29 |
---|---|
[리눅스/Linux] 사용자 계정 관리 명령 사용법(useradd, adduser, usermod, userdel) (0) | 2021.01.29 |
[리눅스/Linux] C 프로그램 작성하여 컴파일/실행하기 (gcc, make) (0) | 2021.01.28 |
[리눅스/Linux] 스냅 패키지(snap)/파일 아카이브(tar)/파일 압축(gzip, bzip2) (0) | 2021.01.28 |
[리눅스/Linux] 우분투 패키지 설치 방법 ③ aptitude 명령 ④ 우분투 소프트웨어 센터 (0) | 2021.01.28 |