Information Security

09-1 사용자 계정 관리 본문

Linux

09-1 사용자 계정 관리

leeeeye321 2017. 9. 20. 16:04

사용자 계정 관리

 

-리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요하다.

-사용자 계정은 사용자가 시스템에 접근할 수 있는 유일한 방법이고 시스템 관리자의 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단이다.

 

그룹(Group)

-모든 계정은 그룹이라는 소속을 설정할 수 있으며, 최소 하나의 그룹에 속한다.

-계정 생성 시 그룹 정보를 변경하는 경우를 제외하고 기본적으로 계정명과 같은 이름의 그룹이 함께 생성되어 해당 그룹에 속하게 된다.

-사용자 계정은 여러 개의 그룹(주 그룹, 보조 그룹)에 소속될 수 있다.

-그룹을 이용하면 여러 사용자에게 동일하게 적용할 시스템 리소스 사용 제한이나 권한 설정들을 일괄 적용할 수 있다는 장점이 있다.

 


/etc/passwd

-사용자 기본 정보 파일

-한 행에 하나의 사용자 계정에 대한 정보 기록

-콜론(:)으로 각 항목 구분

[사용자 계정명 : 패스워드 : UID : GID : 설명 : 홈 디렉터리 : 로그인 쉘]

 

사용자 계정명

-로그인 ID, 사용자 이름이라고도 불린다. 대소문자를 구별하며 시스템 내에서 유일해야 한다.

패스워드

-X로 표시되면 패스워드가 암호화되어 /etc/shadow 파일에 저장되어 있음을 의미한다.

UID(User IDentifier)

-사용자 개인을 숫자로 구별하는 고유 ID

-일반 사용자는 보통 500번부터 시작한다.

GID(Group IDentifier)

-각 사용자 계정은 고유한 그룹 ID를 가진다.

-계정 생성 후 그룹 정보를 수정한 경우를 제외하면 UID 번호와 동일한 GID가 생성된다.

-시스템에 등록된 그룹에 대한 정보는 /etc/group 파일에 저장된다.

-한 사용자는 여러 그룹에 속할 수 있다.

설명(Comment)

-사용자 계정에 대한 주석 작성

홈 디렉터리

-사용자의 홈 디렉터리의 절대 경로

-사용자가 로그인 시 가장 처음에 위치하는 디렉터리

-관리자 제외하고 대부분 /home 밑에 계정명으로 생성된다.

 로그인 쉘

-사용자가 로그인 시 사용할 쉘 파일의 위치

-사용 가능한 Shell의 종류는 /etc/shells 파일에 정의되어 있으며, 기본 설정은 /bin/bash이다.

 


/etc/shadow

-사용자 패스워드 정책과 패스워드가 암호화되어 저장되어 있는 파일

 [사용자명 : 패스워드 : 최종암호변경일 : 암호변경최소일수 : 암호변경최대일수
암호 변경 경고 일수 : 계정 사용 불가 날짜 : 계정 만료일 : 예약]

 

사용자 명

-사용자 계정

-/etc/passwd와 /etc/group 파일과 함께 동일한 사용자의 이름이 존재해야 한다.

패스워드

-암호화된 사용자의 패스워드 저장

-처음 두 글자로 암호화 시 사용한 알고리즘을 확인할 수 있다.

$1: md5    $2: blowfish    $5: SHA256    $6:SHA512

 -운영체제가 임의로 생성한 값(salt)와 사용자 암호를 Crypt() 함수를 이용하여 암호화하기 때문에 같은 패스워드라도 매번 다른 결과를 출력

$hash function + $salt + $encrypted

 

암호 필드 특수 문자

-cat /etc/shadow 결과의 일부분

!! : 비밀번호가 설정되어 있지 않음

*, ! : 계정 잠금(사용되는 계정의 패스워드가 무효화되어 로그인 불가능)

 


/etc/login.defs

-사용자 계정의 설정과 관련된 기본 값을 정의한 파일

-기본 메일 디렉터리, 패스워드, UID/GID 범위 등의 기본 값을 정의

 


/etc/group

-그룹에 대한 정보가 저장되어 있는 파일

-사용자가 속한 그룹 중 /etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹이며, 보조 그룹은 /etc/group 파일에 지정

[그룹 이름 : 그룹 패스워드 : GID : 그룹 멤버]

 

그룹 패스워드

-X로 표시되면 패스워드가 암호화되어 /etc/gshadow 파일에 저장되어 있음을 의미한다.

GID

-그룹을 식별하는 번호

- 500번 ~ 60000번은 사용자 정의 그룹의 GID로 사용

그룹 멤버

-그룹에 속한 멤버들의 사용자 계정 이름

-쉼표(,)로 사용자 구별하고 사용자의 보조그룹을 나타낸다.

 


/etc/gshadow

-그룹 암호가 저장되어 있는 파일

-cat /etc/gshadow 결과의 일부분

-기본적으로 암호가 설정된 그룹이 없다.

 


/etc/default/useradd

-사용자 계정을 생성 시 참고하는 기본 설정 값을 가지고 있는 파일

GROUP : 기본 등록 그룹의 GID. 100은 users 그룹

HOME : 홈 디렉터리의 생성 위치

INACTIVE : 값이 숫자이면 해당 수 만큼 유예기간을 주며 -1이면 INACTIVE 기능이 비활성화된다.

0이면 암호가 만료되는 즉시 바로 계정이 잠긴다.

EXPIRE : 계정 종료일 지정, 공백은 무제한

SHELL : 기본 로그인 쉘 지정

SKEL : 홈 디렉터리에 복사할 기본 환경 파일의 위치

CREATE_MAIL_SPOOL : 메일 디렉터리의 생성 여부 지정

 


/etc/skel/

-기본적으로 사용자 환경을 구성해주는 초기화 파일이 있다.

-해당 디렉터리에 위치한 파일은 사용자 계정 생성 시 자동으로 홈 디렉터리에 복사된다.

-운영 정책에 따라 각 사용자 계정의 홈 디렉터리에 배포해야 할 파일이 있을 때 사용하면 유용하다.

-skel : skeleton, 사용자 홈 디렉터리의 뼈대

 

'Linux' 카테고리의 다른 글

09-3 사용자 계정 관리 명령어(group)  (0) 2017.09.21
09-2 사용자 계정 관리 명령어(user)  (0) 2017.09.21
08-2 쉘 환경 변수  (0) 2017.09.19
08-1 Redirection & Pipe  (0) 2017.09.19
07-2 리다이렉션(Redirection)  (0) 2017.09.18