ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 기본정리 ] 사용자 계정 관리
    Technique/LINUX 2016. 5. 11. 23:44
    반응형

    사용자 계정 관리에는 사용자가 적절한 권한을 가지고 시스템에 접근할 수 있도록 사용자 계정을 새로 만들거나 사용자 정보를 수정하고, 계정 사용 기한 만료 등의 이유로 사용자 계정을 삭제하는 업무 등이 있다.

    /etc/passwd, /etc/shadow, /etc/login.defs, /etc/group, /etc/gshadow 가 있다.


    /etc/passwd

    사용자 계정 정보가 저장된 기본파일이다. 초기 유닉스에서는 암호도 같은 파일에 저장했으나 해킹의 위험이 증가하면서 암호는 /etc/shadow 파일에 별도로 저장한다. root 계정으로 파일의 수정이 가능하지만, /etc/passwd 파일은 사용자 계정이 저장되는 중요한 파일이므로 함부로 수정하지 말고, 사용자 계정의 추가나 삭제, 수정 등 변경 사항이 있을 때는 관련된 명령으로 작업을 하는 것이 바람직하다.


    구조

    한 행에 사용자 한 명에 대한 정보가 기록되며, 콜론(:) 으로 구분되는 일곱 개의 항목으로 구성된다.


    로그인ID : X : UID : GID : 설명 : 홈 디렉토리 : 로그인 셸


    로그인 ID : 사용자 계정의 이름을 뜻하며 사용자 ID, 사용자 이름, 로그인 이름이라고도 한다. 32자르 넘을 수 없으나 유닉스 같은 다른 운영체제와의 연동을 고려한다면 로그인 ID를 8자로 제한하는 것이 좋다.

    로그인 ID에는 콜론과, 개행 을 제외하고 어떤 문자든 사용할 수 있다. 로그인 ID는 중복되는 이름을 사용해서는 안 된다


    x : 초기 유닉스 시스템에서 사용자 암호를 저장하던 항목이다. 요즘은 보안상의 이유로 사용자 암호를 /etc/shadow 파일에 별도로 보관하고 있다. 이 항목은 역사적인 이유로 이전 프로그램과의 호환성을 위해 그대류 유지하고 있으며 x로 표시한다.


    UID : 사용자 ID 번호로 시스템이 사용자를 구별하기 위해 사용하는 번호이다. 일반적으로 0~999번과 65534번은 시스템 사용자를 위함 UID로 예약되어 있다. 시스템 사용자 계정은 시스템이 관리 업무를 위해 내부적으로 사용하려고 예약되어 있는 계정이므로 임의로 수정하지 않는다. 일반 사용자들은 UID 1000번 부터 할당된다.

    - 0 ( root) : root 사용자 계정

    - 1 ( daemon ) : 시스템 데몬 계정

    - 2 ( bin ) : 명령어 관리를 위한 계정

    - 7 ( lp ) : 프린트 서비스와 관련된 계정

    - 65534( nobody ) : 사용자의 UID로 NFS와 관련된 계정

    로그인 ID 가 다르더라도 UID가 같으면 리눅스 시스템은 같은 사용자로 판단한다.

    특히 사용자 이름이 root 가 아닌 다른 이름 이더라도 UID 가 0 이라면 시스템은 root 계정으로 인식한다는 것이다.

    따라서 시스템 관리자는 시스템 계정의 UDI가 중복되지 않았는지 주의해야 한다.


    GID : 그룹 ID 를 나타낸다. 리눅스에서 사용자는 무조건 하나 이상의 그룹에 소속된다. 사용자의 기본 그룹은 사용자를 등록할 때 정해지며, 특별히 소속 그룹을 정하지 않으면 자동적으로 로그인 ID가 그룹으로 등록된다. 시스템에 등록된 그룹에 대한 정보는 /etc/group 파일에 저장 되어 있다.


    설명 : 사용자의 실명이나, 부서명, 연락처 등 사용자에 대한 일반적인 정보가 기록되는 부분이다. 설명은 유닉스에서 유래된 역사적인 이유로 GECOS 라고 부르기도 한다.


    홈 디렉토리 : 사용자 계정에 할당된 홈 디렉토리의 절대 경로를 기록한다. 사용자가 로그인 할 때 자동적으로 로그인되는 디렉토리가 홈 디렉토리이다. 홈 디렉토리 아래에 다른 디렉토리나 파일을 생성할 수 있다.


    로그인 셸 : 사용자의 로그인 셸을 지정한다. 로그인 셸은 사용자가 로그인할 때 기본적으로 동작하는 셸이다. 현재 우분투에서는 배시 셸( /bin/bash ) 를 기본 셸로 사용하고 있다.


    /etc/shadow 

    보안 때문에 사용자 암호에 관한 정보를 별도로 관리하는 팡리이다. 누구나 읽을 수 있지만 /etc/shadow 파일의 경우 root 사용자만 읽고 쓸 수 있으며 shadow 그룹은 읽기만 가능하다.


    구조

    사용자 암호 외에 사용자 계정과 곤련된 부가적인 정보도 저장된다. 

    /etc/shadow- 는 /etc/shadow의 백업 파일이다.

    9개의 항목으로 구성되어 있으며 콜론(:) 으로 구분된다.


    로그인ID : 암호(패스워드) : 최종 변경일 : MIN : MAX : WARNING : INACTIVE : EXPIRE: Flag


    로그인ID : 사용자 계정 이름으로 /etc/passwd 파일의 로그인 ID와 같은 이름이다.


    암호 ( 패스워드 ) : 실제 비밀번호가 암호화되어 저장된다, 비밀번호는 일방향 암호여서 이 ㅂ비밀번호가 원래 어떤 문자였는지 복호화할 수 없다. 사용자가 로그인할 때 입력하는 비밀번호를 다시 암호화하여 이암호와 비교하는 것이다. 이 암호 항목에 아무 값도 없으면 암호가 지정되지 않은 계정임을 뜻한다. 시스템 계정에는 !! 가 표시된다.


    최정 변경일: 암호가 마짐가으로 변경된 날짜를 지정한다. 이 날짜는 일반적인 년원일 형태로 기록되는 것이 아니라, 유닉스의 전통에 따라 1970년 1월 1일을 기준으로 날수를 기록한다.


    MIN : MIN을 비록해 MAX, WARNING, INACTIVE, EXPIRE 항목을 패스워드 에이징이라고 한다. 각각 패스워드와 관련된 사용 기간을 지정한다, MIN은 암호를 변경한 수 사용해야하는 최소 기간이다. 예를들어 MIN 이 3이면 최소한 3일은 사용해야 한다는 의미이다. 보안적인 면에서 0을 설정해두는 것이 좋다.


    MAX : 암호를 사용할 수 있는 최대 기간이다 예를 들어 MAX가 30이면 해당암호를 30일 동안만 사용할 수 있다는 것으로 30일이 지나기 전에 암호를 변경해야한다. 이 기간이 지나가면 새로운 암호를 입력하게 한다.


    WARNING : 암호가 만료되기 전에 경고를 시작하는 날수이다. 예를들어 7이면 암호가 만료되기 7일 전부터 로그인할 때 경고 메시지가 나타난다. 


    INACTIVE : 암호가 만료된 후에도 이 항목에 지정한 날수 동안은 로그인이 가능하도록한다. 예를 들어 10이면 암호가 만료된 이후에도 10일 동안은 로그인이 가능하며, 사용자는 이 기간동안 암호를 변경해야 한다. 이 기간이 지나면 계정이 잠겨버리는데 이렇게 되면 관리지 선에서만 해결할 수 있다.


    EXPIRE : 사용자 계정이 만료되는 날로 이 날짜가 지나면 해당 계정으로 로그인할 수 없다. 이 항목은 최종 변경일 처럼 1970년 1월 1일을 기준으로 한 날수로 표시된다.


    Flag : 향후 사용할 목적으로 비워둔 항목이다.


    암호가 !로 시작하는 것은 계정이 잠겨 있음을 뜻한다.


    /etc/login.defs 파일

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


     항목

    기본 값 

    의미 

     MAIN_DIR 

     /var/spool/mail 

     기본 메일 디렉토리 

     PASS_MAX_DAYS 

     99999 

     패스워드 에이징

     PASS_MIN_DAYS

     0

     PASS_WARN_AGE

     7

     UID_MIN, UID_MAX

     1000 ~ 60000

     사용자 계정의 UID 범위

     SYS_UID_MIN, SYS_UID_MAX 

     100 ~ 999

     시스템 계정의 UID 범위

     GID_MIN, GID_MAX 

     1000 ~ 60000

     사용자 계정의 GID 범위

     SYS_GID_MIN, SYS_GID_MAX 

     100 ~ 999

     시스템 계정의 GID 범위

     UMASK 

     022

     umask 값 설정

     USERGROUPS_ENAB 

     yes

     사용자 계정 삭제 시 글부 삭제 여부

     ENCRYPT_METHOD 

     SHA512

     암호화 기법



    /etd/group

    그룹에 관한 정보가 저장된 파일이다. 리눅스에서 사용자는 기본적으로 하나 이상의 그룹에 속해 있다.

    사용자가 속한 그룹 중 /etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹이며, 사용자가 속한 2차 그룹은 /etc/gorup 파일에 지정한다.


    구조

    4가지 항목으로 구성되어 있으며 각 항목은 콜론(:) 으로 구분된다


    그룹 이름 : x : GID : 그룹 멤버


    그룹 이름 : 그룸의 이름이다.


    x : 그룹의 암호를 저장하는 곳으로 예전 유닉스에서는 비어 있거나 * 표시가 되어 있엇다. 그러나 리눅스에서는 여기에 암호화된 그룹 암호를 저장하거나 /etc/gshadow 파일에 그룹 암호를 저장한다. 그룹 암호는 newgrp 명령을 사용하여 자신이 속하지 않은 그룹으로 전환할 때 필요하다. 


    GID : 그룹을 식별하는번호이고 1000~ 60000번은 사용자 저으이 그룹의 GID로 사용된다.


    그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 이름이며 쉼표로 사용자를 구분한다. 사용자의 2차 그룹을 나타낸다.


    사용자 계정을 생성할 때 특별히 지정하지 않으면 사용자 이름과 같은 이름으로 그룹을 생성한다.


    /etc/gshadow

    그룹 암호가 저장된 파일이다. 원래 유닉스에는 없던 파일로 리눅스에서 별도로 만든 파일이다. 유닉스에서는 그룹에 암호가 필요할 경우 /etc/group 파일의 그룹 암호 자리에 암호화된 그룹 암호를 설정했는데 리눅스에서는 /etc/shadow 파일과 비슷하게 /etc/gshadow 파일을 만든 것이다.


    구조

    콜론(:) 으로 구분하며 4가지 항목으로 구성되어 있다.

    그룹 이름 : 그룹 암호 : 관리자 : 그룹 멤버


    그룹 이름 : 그룹의 이름


    그룹 암호 : 암호화된 그룹의 암호


    관리자 : 그룹의 암호나 멤버를 바꿀 수 있는 사용자 계정으로 여러 개일 경우 쉼표로 구분한다


    그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 이름이며 쉼표로 사용자를 구분한다.

    반응형

    'Technique > LINUX' 카테고리의 다른 글

    ubuntu 해상도 추가  (0) 2016.09.12
    [ 기본정리 ] UID와 EID  (0) 2016.05.12
    [ 기본정리 ] 패키지 관리  (0) 2016.05.11
    [ 기본정리 ] 우분투 패키지  (0) 2016.05.11
    [ 기본정리 ] 데몬 프로세스  (0) 2016.05.10

    댓글

Designed by Tistory.