IT기술/Linux

3-2 계정 관리 (관리자)

dobbby 2013. 9. 5. 11:48
반응형

● 계정 관리

   - 계정 : OS를 사용할 수 있는 허락받은 사용자


   1. useradd  - 계정 생성 명령

     형식) ]# useradd [옵션] 계정명    

       - 동일한 이름의 계정은 생성할 수 없다.

       - 옵션은 기본적으로 제공되는 정보를 사용하지 않고 다른 정보를 사용할 경우 적용


     ex)  ]# useradd kim

           ]# ls -l  /home   => kim 디렉토리 생성 확인 : kim 계정의 홈디렉토리

                => /home 디렉토리 하위에 계정명과 동일한 이름의 디렉토리가 자동 생성


           ]# groups  kim   =>  kim 계정의 그룹 포함 관계를 출력하는 명령

           kim  :  kim          =>  계정명 : 그룹명   -  kim 계정은 kim 그룹에 포함

                =>  계정명과 동일한 이름의 그룹을 생성하여 자동 포함 시킨다.


           ]# grep kim /etc/passwd   =>  /etc/passwd 파일에 kim 단어를 포함한 행 출력

           kim:x:501:501::/home/kim:/bin/bash     =>   계정 생성을 하면 한 줄 추가됨

  

           ※ /etc/passwd : 리눅스 계정의 정보를 저장하고 있는 파일(데이타 구분자는 :를 사용한다.)

            (1):(2):(3):(4):(5):(6):(7)  => 한 줄이 계정에 대한 정보를 표현


           1) 계정명

           2) 암호 - 원래 암호는 /etc/passwd  파일에 암호화 되어 저장 되었다.

                         /etc/passwd 파일은 모든 계정이 읽을 수 있다. 

                           => 암호화 되어 있는 정보를 디코더(해독) 프로그램이 개발되어 보안이 위험

                           => shadow 프로그램을 이용하여 암호만 따로 숨겨서 저장

(/etc/shadow 파일 - 관리자만 사용 가능)

           3) UID - 계정을 구분하는 고유번호

                0 : 관리자 계정  

                1 ~ 499 : 시스템 계정(시스템을 제어하는 계정) => 로그인 되지 않도록 생성하는 것이 원칙

                500~60000 : 일반 계정

           4) GID   - 그룹을 구분하는 고유번호이며 계정이 포함된 그룹번호가 표시

                  => 계정의 기본그룹(Default Group : 삭제되지 않는 그룹)                

           5) 설명문(Comment) - 계정에 대한 설명(생략 가능)

           6) 홈디렉토리 - 계정의 홈디렉토리를 표시

           7) 사용 Shell  - 계정이 로그인하여 사용하는 쉘의 종류를 표시 


           ]# grep kim /etc/shadow   

           kim:!!:15952:0:99999:7:::    =>  계정 생성을 하면 한 줄 추가됨

            =>   계정의 암호 관련 정보를 저장한 파일(관리자만 사용할 수 있다.) 


           ※ /etc/shadow - shadow 프로그램에 의해 계정의 암호 관련 정보를 저장

           (1):(2):(3):(4):(5):(6):(7):(8)


           1) 계정명

           2) 암호 - 암호 되어 저장  => !로 시작되는 암호는 사용할 수 없는 암호

               (처음 생성된 계정은 !로 시작되는 암호를 가지고 있다. 

=> 리자는 반드시 계정 생성 후 암호를 변경해야 된다.)

           3) 암호 변경날짜(일) - Unixtime 형식으로 표현된 날짜

(Unixtme 또는 Timestamp - 1970년 1월 1일을 기준으로 사용된 값)             

           4) 암호 최소지속시간(일) - 암호를 변경 후 최소 사용해야 되는 시간               

           5) 암호 최대지속시간(일) - 암호를 변경 후 최대 사용할 수 있는 시간 => 보안상 변경하는 것을 추천

           6) 경고시간(일) - 암호 최대지속시간이 다가올 경우 경고메세지가 출력되도록 지정한 시간

           7) 암호 비활성화(Inactive) 시간(일) - 

암호 최대지속시간에 초과된 경우 암호를 변경할 수 있도록 제공하는 유효시간

                => 비활성화 시간도 초과되면 더 이상 암호를 사용할 수 없다.

(암호최대지속시간을 변경한 경우 반드시 설정)

           8) 계정 비활성화(Expire) 날짜(년-월-일) - 계정을 사용하지 못하도록 날짜를 지정 




         ]# passwd  kim   =>  계정의 비밀번호를 변경(계정명이 생성되면 현재 로그인 계정) 

             => 비밀번호를 2번 입력(비밀번호 규칙 무시)


         ※ 일반계정은 관리자가 알려준 비밀번호로 최초 로그인 후 자신의 비밀번호를 반드시 변경해야 된다.

             ]$ passwd   => 기존 비밀번호 입력 후 새로운 비밀번호 2번 입력

(비밀번호 규칙에 위배되면 재입력) 


         ※ 가상콘솔 환경으로 이동

             [ctrl] + [alt] + [f1]~[f6]  =>  6개의 가상콘솔 이동

             [ctrl] + [alt] + [f7]   =>  x-window 복귀 




       - 계정 생성 관련 파일 => useradd 명령시 참조하는 파일


         ]# vi  /etc/login.defs    =>   암호 유효기간 및 홈디렉토리 생성 유무등의 기본정보를 저장한 파일   

         ...

         PASS_MAX_DAYS   99999        =>  암호 최대지속시간 : 99999 >> 30 변경  

         PASS_MIN_DAYS    0               =>  암호 최소지속시간

         PASS_MIN_LEN      5               =>  비밀번호 최소길이(5초과)

         PASS_WARN_AGE   7               => 비밀번호 변경 관련 경고날짜


         CREATE_HOME     yes     =>  계정 생성시 홈디렉토리 자동 생성 유무


         UMASK      077     =>  계정 홈디렉토리의 기본 생성권한을 조절하기 위한 데이타






         ]# vi  /etc/default/useradd     =>   홈디렉토리 생성 위치 및 사용 쉘등을 지정하는 파일   

          GROUP = 100                     => 계정이 포함될 수 있는 최대 그룹수

          HOME = /home                  => 홈디렉토리 생성 위치 지정

          INACTIVE = -1                    => 암호 최대지속시간 종료 후 암호 변경하도록 제공해 주는 시간

(-1 >> 5 : 비밀번호 변경 기간 5일 제공) 

          EXPIRE =                           => 계정 사용 유효기간 지정("년-월-일" 형식)   

          SHELL = /bin/bash             =>  계정 사용 쉘 지정

          SKEL = /etc/skel                =>  계정의 홈디렉토리 안에 붙여넣기 될 파일이 존재하는 디렉토리 지정

          CREATE_MAIL_SPOOL=yes => 메일 스풀기능 사용 유무 지정 


            ※ ]# useradd -D  명령으로 /etc/default/useradd 변경 가능





         ]# useradd lee


         ]# grep lee /etc/shadow

         lee:!!:15952:0:30:7:5::




- useradd 옵션 => 기본 설정파일의 정보를 활용하지 않고 다른 값으로 계정을 생성할 경우 사용


         ex)  ]# useradd -u 1000 kim                    =>  -u : UID 지정

               ]# useradd -d /home/kkk  kim         =>  -d : 홈디렉토리 지정          

               ]# useradd -M -s /bin/false  kim    =>  -M : 홈디렉토리 생성 불가   

             -s : 사용 쉘 지정(/bin/false : 로그인 불가)

 

            => 시스템 계정 생성 경우

               ]# useradd -g  root  kim    =>  -g  :  

계정의 기본그룹을 지정(kim 계정은 root 그룹(기본그룹)에 포함)   


               ]# useradd -G  root  kim     =>   -G : 

기본그룹외에 다른 그룹에 추가적인 포함(kim 계정은 kim 그룹(기본그룹) 및 root 그룹에 포함)


               ]# useradd -f 3 -e 2013-12-31 kim    =>  -f : inactive 시간 지정    -e : expire 날짜 지정


   2. usermod   =>  계정의 정보를 변경하는 명령

     형식) ]# usermod 옵션 계정명   

         => 옵션은 useradd  옵션과 동일


     ex) inactive 시간을 10일로 변경

          ]# usermod -f 10 kim


     ※ chage : 계정의 암호 관련 정보를 확인하거나 변경하는 명령

         형식)  ]# chage  옵션  계정명               


          ex) ]# chage -l kim    =>  -l : 암호 관련 정보를 확인

                ]# chage -M 30 kim    =>  -M : 암호 최대지속시간 변경

                ]# chage -I  5  kim     =>   -I(대문자 I) : inactive 시간 변경

                ]# chage -E 2013-12-31 kim   =>  -E : Expire 날짜 변경




   3. userdel   =>  계정 삭제 명령


      형식) ]# userdel [-r] 계정명


      ex) ]# userdel  kim    =>  kim 계정만을 삭제

            ]# userdel  -r  lee    =>  lee 계정 및 lee 소유 파일 삭제

            ]# ls -l /home    =>  kim 디렉토리 존재, lee 디렉토리 없음


       ※ 파일(디렉토리)의 소유자(소유그룹)가 UID(GID)로 표시되는 경우 

     해당 소유자(소유그룹)가 존재하지 않기 때문 


           => 소유자(소유그룹) 변경



반응형