Programing/Linux

[리눅스]그룹 passwd /shadow/groups

하얀배터리 2018. 4. 2. 22:48
728x90




[리눅스] 그룹 passwd /shadow/groups 



그룹



사용자 관리


  • /etc/passwd 파일

모든 사용자는 그룹에 속한다.
사용자계정정보가저장된기본파일
한행에사용자한명에대한정보가기록되며, 쌍점(:)으로구분되는일곱개의항목으로구성

  1. 로그인ID: 사용자계정의이름, 32자를넘을수없으나8자로제한하는것이좋다
  2. x : 초기유닉스시스템에서사용자암호를저장하던항목, 요즘은/etc/shadow 파일에별도로보관
  3. UID: 사용자ID 번호로시스템이사용자를구별하기위해사용하는번호
          - 0~999번과65534번은시스템사용자를위한UID로예약(0: root, 1: bin, 2: daemon, 3: adm등)
          - 일반사용자들은UID 1000번부터할당
          - 로그인ID가다르더라도UID가같으면리눅스시스템은같은사용자로판단, 따라서UID가중복되지않았는지주의해야함
  1. GID : 그룹ID, 시스템에등록된그룹에대한정보는/etc/group 파일에저장

  1. 설명: 사용자의실명이나부서명, 연락처등사용자에대한일반적인정보가기록
  2. 홈디렉터리: 사용자계정에할당된홈디렉터리의절대경로를기록
  3. 로그인셸: 사용자의로그인셸을지정, 페도라에서는배시셸(/bin/bash)을기본셸로사용


vi /etc passwd                                                                     tip)   tail -5 /etc/passwd
                                                                                                     tail -5/etc/group

                                                                                               아래에서부터 5번째 줄까지 보여줌  (전체다 보여주지않고)


root             :       x          :         0             :           0             :        root : /root :/ bin / bash
:
:
:
: 사용자 목록
:
:
:
:   맨 아래 사용자
user1          :        x         :       1000         :          1000         :         user1 /home / centos:/ bin/ bash
사용자이름                                    사용자 ID             소속된그룹번호                           사용자의 홈디렉터리    기본쉘






  • /etc/shadow 파일
          사용자암호에관한정보를별도로관리하는파일
          root 계정으로만내용을볼수있음

     ①로그인ID : 사용자계정이름
     ②암호(패스워드) : 실제비밀번호가암호화되어저장
     ③최종변경일: 암호가마지막으로변경된날짜를지정, 1970년1월1일을기준으로날수를기록
     ④MIN : MIN은암호를변경한후사용해야하는최소기간
     ⑤MAX : 암호를사용할수있는최대기간
     ⑥WARNING : 암호가만료되기전에경고를시작하는날수
     ⑦INACTIVE : 암호가만료된후에도이항목에지정한날수동안은로그인이가능
     ⑧EXPIRE : 사용자계정이만료되는날⑨Flag : 향후사용할목적으로비워둔항목










  • /etc/group 파일
          그룹에 대한 정보가 저장
          etc/passwd파일의GID 항목에지정된 그룹이 기본 그룹이며, 사용자가 속한2차그룹은/etc/group 파일에지정

          /etc/group 파일의 구조
    • 그룹이름: 그룹의이름
    • x : 그룹의암호를저장하는곳
      • 여기에암호화된그룹암호를저장하거나/etc/gshadow
      • 파일에그룹암호를저장
    • GID : 그룹을식별하는번호
    • 그룹멤버: 그룹에속한멤버들의사용자계정이름이며쉼표(,)로사용자를구별
      • 사용자의2차그룹

                               /etc/group 파일의 정보 구성



사용자가 속한 그룹이름

vi /etc/group


root             :              x             :         0
그룹이름                  그룹비밀번호              그룹 ID

:
:
:그룹 이름                                                                                                  user1<사용자 [기본사용자]는 >
:                                                                                                                  사용자이름이  user1 이고 사용자가 속한 그룹도 user1이다.
:
:
user1           :              x             :      1000      :  user1
                                                                                        생략가능





  • /etc /gshadow  파일


          1. 그룹암호가저장
          2.  원래 유닉스에는 없는 파일 로리눅스 에서 별도로 만든파일



  1. 그룹이름: 그룹의이름이다.
  2. 그룹암호: 암호화된그룹의암호이다.
  3. 관리자: 그룹의암호나멤버를바꿀수있는사용자계정으로여러개일경우쉼표(,)로구분한다.
  4. 그룹멤버: 그룹에속한멤버들의사용자계정이름이며쉼표(,)로사용자를구별한다.





[정리하기]

그룹 암호가 저장되어 있는 곳

 /etc /gshadow

사용자 관리

 /etc/passwd

사용자가 속한 그룹이름

vi /etc/group

사용자 계정의 설정과 관련 기본값 정의

/etc/login.defs




[명령어]

  • groups


        사용자가 속한 그룹을 보여줌

  • groupadd


          새로운 그룹을 생성

         ex) groupadd newgroup

  • groupmod


          그룹의 속성을 변경

         ex) groupmod -n newgrop mygroup

  • who


          현재 시스템 사용 사용자 정보

  • groupdel


          그룹을 삭제

          ex) groupdel newgroup

  • gpasswd


          그룹 암호 설정  [드문 경우에만 사용]

          ex) gpasswd new group


  • /etc/group

          그룹 목록 위치

  • /etc/passwd

          사용자 목록 위치


  • /etc/shaow 

         페스워드 경로



실습 하기 

1)

user1      만들기 useradd user1 
                확인 tail -5  /etc /passwd
  비밀번호 확인 tail -5 /etc /shadow
     그룹    확인 tail -5 /etc/group


2)

그룹 만들기  groupadd centos
그룹 확인     tail -5      /etc/group

      useradd -g centos user1    [user1을  cent os그룹에 만든다.]
      useradd -g centos user2    [user2을  cent os그룹에 만든다. ]
      
사용자 목록 확인 tail -5 /etc /passwd                        결과창  user1:x:1001:1001------   (그룹 1001로 묶였다.)
비밀번호 생성     passwd user1                                            user1:x:1002:1001------   (그룹 1001로 묶였다.)
                         passwd user2

비밀번호 확인     tail -5 /etc/shadow     (user1 ~~~~~~     확인 해보면 같은 비밀번호라도 
                                                         (user2 ~~~~~~    내용이 다르다는 것을 알 수있다. 








usermod 

사용자 계정 정보를 수정한다.

usermod [옵션] 로그인ID

     -u uid : UID를 수정한다.
     -o UID : UID의 중복을 허용한다.
     -g gid : 기본그룹을 수정한다.
     -G gid : 2차 그룹을 수정한다.
     -d 디렉터리명 : 홈디렉터리를 수정한다.
     -s 셀 : 기본 셀을 수정한다.
     -c 설명 : 부가적인 설명을 수정한다.
     -f inactive : 계정 비활성화 (INACTIVE) 날짜를 수정한다.
     -e expire : 계정 만료(EXPIRE) 날짜를 수정한다.

     사용 예  usermod -u 1111 user1
                  usermod -d /home/user111 user1
                  usermod -l user111 user1


사용자 계정 삭제한다.

userdel

userdel [옵션] 로그인 ID

     -r : 홈 디렉터리를 삭제한다.
     -f : 사용자가 로그인 중이여도 강제로 삭제한다.

 사용 예 userdel user4
             userdel -r user4




groupadd

그룹을 생성한다.

groupadd [옵션]  그룹명

-g gid : 그룹의 GID 를 지정한다.
-o      : GID의 중복을 허용한다.

사용 예 groupadd gtest    groupadd -g 2013 gtest  groupadd -g 2013 -o gtest





groupdel 

그룹을 삭제한다.

groupdel 그룹명 

groupdel gtest





     gpasswd
     
     /etc/group  /etc/gshadow 파일을 관리

     gpasswd [옵션]  그룹명

     -a  사용자 계정 : 사용자 계정을 그룹에 추가한다.
     -d  사용자 계정 : 사용자 계정을 그룹에서 삭제한다.
     -r  그룹 암호를 삭제한다.

     gpasswd gtest01
     gpasswd -a test01 gtest01
     gpasswd -r gtest01





     newgrp

     소속 그룹을 다른 그룹으로 바꾼다.

     newgrp 그룹명 

     사용 예 newgrp adm 





     who

     현재 시스템을 사용하는 사용자의 정보를 출력한다.

     who [옵션]

     -q : 사용자의 이름만 출력한다.
     -H : 출력 항목의 제목도 함께 출력한다
     -b : 마지막으로 제시작한 날짜와 시간을 출력한다.
     -m : 현재 사용자 계정의 정보를 출력한다.
     -r : 현재 런레벨을 출력한다.

     사용 예 who               who -b




     w

     현재 시스템을 사용하는 사용자의 정보와 작업 정보를 출력한다. 

     w [사용자 이름]




     last 
     
     시스템에 로그인하고 로그아웃한 정보를 출력한다. 

     last 

     


     groups

     사용자 계정이 속한 그룹을 출력한다.

     groups [계정명]




     chown

     파일과 디렉터리의 소유자와 소유 그룹을 변경

     chown [옵션] 사용자 계정 파일명/디렉터리명

     -R : 서브 디렉터리의 소유자와 소유 그룹도 변경한다.
     
     chown user2 file1         chown user2:grp01 file1     chown -R  user2 file1

     



     chgrp

     파일과 디렉터리의 소유 그룹을 변경한다.

     chgrp [옵션] 사용자 계정 파일명 /디렉터리명

     -R : 서브 디렉터리의 소유 그룹도 변경한다.

     사용 예 chgrp han01 file1     chgrp -R han01 file1




     quotacheck

     쿼터파일을 생성 확인 수정하기 위해 시스템을 스캔한다. 

     형식 : quotacheck [옵션] -a 또는 파일 시스템

          -a : 전체 파일 시스템을 스캔한다.
          -u : 사용자 쿼터를 확인한다.
          -g : 그룹 쿼터를 확인한다.
          -m : 파일 시스템 리마운트를 하지 않는다.
          -v : 명령 진행 상황을 상세하게 출력한다. 

    사용 예  quotacheck [옵션] -a : 전체 파일 시스템을 스캔한다.
                                           -u : 사용자 쿼터를 확인한다. 
                                           -g : 그룹 쿼터를 확인한다.
                                           -m : 파일 시스템 리마운트를 하지 않는다.
                                           -v : 명령 진행상황을 상세하게 출력한다.

     사용 예 quctacheck -augvm
                 quotacheck -ugvm /dev /sdb1






     quotaon

     파일 시스템의 쿼터 기능을 활성화 한다.
     quotaon [옵션]  -a 또는 파일 시스템

     -a : 전체 파일 시스템의 쿼터 기능을 활성화 한다.
     -u : 사용자 쿼터를 활성화 한다.
     -g : 그룹 쿼터를 활성화 한다.
     -v : 명령 진행 상황을 상세하게 출력한다.

사용 예 quotaon -augv          quotacheck -ugv /





 하얀배터리 블로그에 작성된 글의 무단 복제 , 수정을 금지 합니다. 


 개시물은 배운 내용을 바탕으로 하여 쓰여진 것이므로 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 지적 바랍니다. 


#하얀배터리 #IT #정보보안 #윈도우 #window #프로그래밍 #programming #html #java #C #javascript #database #jQuery #서버 #보안 #리눅스  













728x90