사용자 계정 관리
리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자월을 할당해 주는 방법이 필요하다. 사용자가 시스템을 사용하는데에 있어서 기본적인 최소한의 권한과 개개인에게 알맞는 설정을 주어야 하고 사용자의 요구에 알맞게 계정을 생성할 수 있도록 해야한다. 사용자의 계정은 사용자가 시스템에 접글할 수 있는 유일한 방법이며 시스템 관리자의 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단이다.
사용자 계정의 종류
1. 관리자 계정
-root
2. 시스템 계정
-데몬(DAEMON) 실행 시 사용하는 계정
3. 일반 사용자 계정
-시스템을 사용하는 그 외의 모든 계정
그룹
- 모든 계정은 그룹이라는 소속을 설정할 수 있으며 최소 하나의 그룹에 속한다.
- 계정 생성 시 그룹 정보를 변경하는 경우를 제외하고 기본적으로 계정명과 같은 이름의 그룹이 함께 생성되어 그 그룹에 속하게 된다.
- 사용자 계정은 주그룹, 보조그룹에 속할 수 있다.
- 그룹을 이용하면 여러 사용자에게 동일하게 적용할 시스템 리소스 사용제한이나 권한 설정을 일괄적으로 적용할 수 있다.
사용자 계정 관리 파일
/etc/passwd
사용자 계정의 기본 정보를 저장하고 있는 파일
로그인 ID : x : UID : GID : 설명 : 홈디렉토리 : 로그인쉘
1. 로그인 ID
사용자의 ID는 최대 32자 까지 가능하며 대소문자를 구별하고 시스템 내에서 유일해야 한다. 다른 운영체제 및 시스템 기능과의 충돌을 고려하여 8자 이하로 생성하는 것이 권장된다.
2. x(비밀번호)
보안상의 이유로 사용자의 비밀번호는 /etc/shadows 파일에 별도로 저장되어 있으며 x로 표시된다.
3. UID(User Identifier)
사용자 개인을 숫자로 구별하는 고유 ID이며 0~99번은 시스템 관리 계정을 위해 예약되어 있으며, 일반 사용자는 배포판에 따라 차이가 있으나 대체적으로 500번 부터 시작된다.
4. GID(Group Identifier)
그룹 식별을 위한 고유 값이며 계정 생성 후 그룹 정보를 수정한 경우가 아니면 UID와 같은 번호의 GID가 생성된다. 등록된 그룹의 정보는 /etc/group 파일에 저장되어 있다.
5. 설명
사용자 계정에 대한 사용자의 개인정보(이름, 전화번호 등)를 작성하는 항목이다.
6. 홈디렉토리
사용자의 홈 디렉토리의 절대경로이며 일반 사용자일 경우 /home 디렉터리 하위에 계정명과 동일한 디렉토리가 생성되고 사용자가 로그인할 때 위치되는 디렉토리이다.
7. 로그인 쉘
사용자가 로그인 시 사용할 쉘 파일의 위치이며 사용 가능한 쉘의 종류는 /etc/shells에 정의되어 있고 기본적으로 /bin/bash로 설정된다.
/etc/shadows
사용자 패스워드 정책과 실제 사용하는 비밀번호가 암호화되어 저장되있는 파일
로그인 ID : 비밀번호 : 최종변경일 : MIN : MAX : WARNING : INACTIVE : EXPIRE : Flag
1. 로그인 ID
/etc/passwd와 동일하게 사용자 계정명을 나타낸다.
2. 비밀번호
실제 비밀번호가 암호화 되어 저장되며, 처음 두글자로 암호화 시 사용한 알고리즘을 알 수 있다.
3. 최종 변경일
비밀번호가 마지막으로 변경된 날짜를 뜻하며 1970년 1월 1일(UNIX TIME)부터 계산하여 마지막으로 바꾼 날짜까지의 일수이다.
4. MIN(패스워드 변경 기간 중 최소값)
암호를 변경한 후 사용하는 최소 기간이다. 1로 설정되어 있으면 하루가 지나고 바꿀 수 있어 보안상 0으로 하는것이 좋다.
5. MAX(패스워드 변경 기간 중 최대값)
비밀번호를 사용할 수 있는 최대 기간이다. 해당 값이 90이면 90일 동안 사용 가능하고 90일 이전에 변경해야한다.
6. WARNING
비밀번호가 만료되기 전에 경고를 시작하는 일수이다.
7. INACTIVE
암호가 만료된 이후에도 이 항목에 지정한 일수동안은 로그인이 가능하다. 해당 기간이 지나면 관리자만 비활성화를 풀 수 있다.
8. EXPIRE(사용자 계정 만료 기간)
사용자 계정이 만료되는 날로, 이 날짜가 지나면 계정으로 로그인 할 수 없다. 최종 변경일과 같이 UNIX TIME을 기준으로 일수가 표시된다.
9. Flag(예약)
향후 사용할 목적으로 비워둔 항목이다.
*비밀번호 필드 특수문자
!! 비밀번호가 설정되어 있지 않음
*,! 계정이 잠겨있어 사용되는 계정의 비밀번호가 무효화 됨
/etc/group
그룹에 대한 기본정보가 저장되어 있는 파일
그룹명 : x : GID : 보조그룹멤버
1. 그룹명
2. x
그룹의 비밀번호가 저장되어 있으며 실제 비밀번호는 /etc/gshadow 파일에 암호화 되어있다.
3. GID
그룹을 식별하는 번호이며 500~60000번은 사용자 정의 그룹의 GID로 사용된다.
4. 보조그룹 멤버
보조그룹에 속한 멤버들의 사용자 계정이며 쉼표(,)로 사용자를 구별한다.
/etc/gshadow
그룹 암호가 저장되는 파일
그룹명 : 그룹암호 : 관리자 : 그룹멤버
1. 그룹이름
2. 그룹비밀번호
3. 관리자
그룹의 비밀번호나 멤버를 바꿀 수 있는 사ㅛㅇ자 계정으로 여러 개일 경우 쉼표(,)로 구분한다.
4. 보조그룹 멤버
보조그룹에 속한 멤버들의 사용자 계정 이름이며 쉼표(,)로 사용자를 구분한다.
/etc/default/useradd
사용자 계정 생성 시 참고하는 설정값을 가지고 있는 파일
GROUP 기본 등록 그룹의 GID로 100은 users의 그룹이다.
HOME 홈 디렉토리의 생성 위치이다.
INACTIVE 값이 숫자이면 해당 수 만큼 유예기간을 주며 -1이며 기능이 비활성화 된다.
EXPIRE 계정 종료일을 지정한다. 공백을 무제한을 뜻한다.]
SHELL 기본 로그인 쉘을 지정한다. 설정이 bash로 되어 있어서 유저 생성시 bash 쉘을 사용하는 계정이 생성된다.
SKEL 홈 디렉토리에 복사할 기본 환경 파일의 위치이다.
CREATE_MAIL_SPOOL 메일 디렉터리의 생성 여부를 지정한다.
/etc/skel
기본적으로 사용자의 환경을 구성해 주는 초기화 파일이 있는 디렉토리이다. 이 디렉토리에 위치한 파일은 사용자 계정 생성 시 자동으로 홈 디렉토리에 복사된다. 운영 정책에 따라 각 사용자 계정의 홈 디렉토리에 배포해야 할 파일이 있을 때 사용하면 유용하다. 이름에서도 유추될 수 있듯이 skel은 skeleton인 뼈대를 뜻한다.
skel디렉토리 안의 모든 파일들을 출력한 내용이다.
root계정의 홈디렉토리의 모든 파일들을 출력해보았다.
위에서 볼 수 있듯이 skel의 파일들이 있는 것을 볼 수 있다.
/etc/login.defs
사용자의 계정의 설정과 관련된 기본 값이 정의되어 있는 파일
#ls /var/spool/mail
사용자의 메일박스가 위치한 디렉터리를 확인한다. 예약 작업등의 결과를 전달할 때 사용되며, 전달한 내용이 있을 때 사용자 계정명과 동일한 파일이 생성된다.
'Linux' 카테고리의 다른 글
디렉토리 및 파일의 권한과 허가권&소유권 1 (0) | 2017.06.07 |
---|---|
사용자 계정 관리2(명령어) (0) | 2017.06.06 |
리다이렉션 & 파이프 & 환경변수 및 초기화 파일 (0) | 2017.06.04 |
VI & VIM (0) | 2017.06.03 |
링크파일 (0) | 2017.06.02 |