본문 바로가기
서버/Linux

[Linux] 사용자 계정 관리 (1)

by 느링 2017. 10. 11.

사용자 계정 관리 ( 1 )

 

Linux 계정의 종류 (크게는 root계정과 root가 아닌 계정 두 가지로 나뉩니다.)

① 관리자 계정 - root

② 시스템 계정 - 데몬(deamon) 실행 시 사용하는 계정

ex)    bin        - 명령어 관리 계정

  deamon - 시스템 데몬 계정

  adm     - 시스템 로그 관련 계정

③ 일반 사용자 계정 - 시스템을 사용하는 그 외에 모든 계정

 : 관리자 외에 서버에 직접적으로 로그인이 필요한

  개발자, 엔지니어, 협력회사 직원 등이 사용할 수 있는 계정

 

※ 리눅스는 다중 사용자 시스템이므로,

   사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요합니다.

 

그룹(Group)

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

- 계정 생성 시 기본적으로 계정명과 같은 이름의 그룹이 함께 생성되어 해당 그룹에 속하게 됩니다.

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

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

 

==================================================================

 

1. /etc/passwd

- 사용자 계정의 기본 정보를 저장하고 있는 파일

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

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

① 사용자 계정명

- 로그인 ID, 사용자 이름이라고도 불리며 최대 32자를 넘을 수 없습니다.

- 소문자 + 숫자를 조합하여 만드는 것이 관례입니다.

- 대소문자를 구분해야 합니다.

 

② x (password)

- 보안상의 이유로 사용자 암호는 /etc/shadows 파일에 별도로 저장되어 있습니다.

- 표시는 x로 합니다.

 

③ UID (User IDentifier)

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

- 0 ~ 99번은 시스템 관리 계정을 위해 예약되어있습니다.

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

 

④ GID (Group IDentifier)

- 그룹을 식별하는 고유한 값

- UID 번호와 동일한 GID가 생성됩니다.

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

 

⑤ 설명 (Comment)

- 사용자 계정에 대한 주석을 작성하는 항목입니다.

- 참고할만한 내용을 작성하는 곳입니다.

- 주로 생략하는 경우가 많습니다.

 

⑥ 홈 디렉터리

- 사용자의 홈 디렉터리의 절대 경로입니다.

- 일반 사용자일 경우 /home 디렉터리 안에 계정명과 동일한 디렉터리가 생성됩니다.

 

⑦ 로그인 쉘

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

- 사용 가능한 Shell의 종류는 etc/shells 파일의 정의되어 있습니다.

- 기본 설정을 /bin/bash 입니다.

 

2. /etc/shadow

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

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

① 사용자 계정명 ★★

- 사용자 계정명을 나타냅니다.

 

② 암호 (Password) ★★

- 실제 비밀번호가 암호화되어 저장되며, 처음 두 글자로 암호화 시 사용한 알고리즙을 확인 할 수 있습니다.

ex) $1 : md5

- 운영체제가 임의로 생성한 값 (Salt)과 사용자 암호(Plaintext)를 crypt( )함수를 이용하여 암호화하기 때문에

같은 패스워드라도 매번 다른 결과를 출력합니다.

 

최종 암호 변경일

- 암호가 마지막으로 변경된 날짜

- 1970년 1월 1일 (UNIX TIME)부터 계산하여 마지막으로 패스워드를 바꾼 날짜까지의 값입니다.

ex) 18000(일) -> 기준 날짜로부터 18000일 후

 

④ MIN (패스워드 변경 기간 중 최솟값)

- 암호를 변경한 후 사용해야 하는 최소 기간입니다.

- 1을 설정하면 1(일) 후에 패스워드를 변경할 수 있기 때문에 보안적인 측면에서 0을 설정하는 것이 좋습니다.

 

⑤ MAX (패스워드 변경 기간 중 최댓값)

- 암호를 사용할 수 있는 최대 기간입니다.

- 지정한 기간이 지나기 전에 암호를 변경해야 합니다.

 

⑥ Warning (패스워드 만료 경고 일 수)

- 암호가 만료되기 전에 경고를 시작하기 일 수 입니다.

ex) 7(일)로 지정하면 만료되기 7일 전부터 경고 메세지가 출력됩니다.

 

위 그림에는 표시 안되었지만 그 다음 항목들

⑦ Inactive (패스워드 만료 후 계정 비활성화 기간)

- 암호가 만료된 후에도 이 항목에 지정한 일 수 동안은 로그인이 가능합니다.

- 사용자는 이 기간동안 암호를 변경해야 합니다.

- 해당 기간이 지나면 관리자만 활성화시킬 수 있습니다.

 

⑧ Expire (사용자 계정 만료 기간)

- 사용자 계정이 만료되는 날입니다.

- 이 날짜가 지나면 해당 계정으로 로그인할 수 없습니다.

- 유닉스 시간 기준으로부터의 일수가 표시됩니다.

 

⑨ Flag(예약)

- 향후 사용할 목적으로 비워둔 항목입니다.

 

※ 암호 필드 특수 문자 ※

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

"*,!" : 계정 잠금

- 사용되는 계정의 패스워드가 무효화되어 로그인 불가능