사용자 계정 관리 ( 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(예약)
- 향후 사용할 목적으로 비워둔 항목입니다.
※ 암호 필드 특수 문자 ※
"!!" : 비밀번호가 설정되어 있지 않음
"*,!" : 계정 잠금
- 사용되는 계정의 패스워드가 무효화되어 로그인 불가능
'서버 > Linux' 카테고리의 다른 글
[Linux] 파일의 권한 (소유권 & 허가권) (0) | 2017.10.11 |
---|---|
[Linux] 사용자 계정 관리 (2) (0) | 2017.10.11 |
[Linux] 쉘 스크립트 (0) | 2017.09.28 |
[Linux] 쉘 환경 변수 (0) | 2017.09.28 |
[Linux] 리다이렉션 (Redirection) & 파이프 (Pipe) (0) | 2017.09.26 |