- 사용자/그룹 관련 파일 정보 -

 ※ /etc/passwd 영역별 내용 설명
    [noose:x:500:500:noose:/home/noose:/bin/bash]

       - noose : 사용자명
       - x : 비밀번호
       - (u)500:(g)500 : UID, GID
       - (c)noose : Comment(이름)
       - (d)/home/noose : 해당 사용자의 홈 디렉터리
       - (s)/bin/bash : 쉘(shell)


 ※ /etc/shadow 영역별 내용 설명
    [noose:$1$GtaDKM2q$MDhN4r8aOwwUEwNFgKbFL1:15349:0:99999:7:::]
       - noose : 사용자명
       - ?????????? : 비밀번호
       - 15349 : 비밀번호 생성일자
       - 0 : 비밀번호 만료 후 재설정까지의 인터벌
       - 99999 : 비밀번호 설정 후 만료까지의 인터벌
       - 7 : 비밀번호 만료 후 경고일자


 ※ /etc/group 영역별 내용 설명
    [bin:x:1:root,bin,daemon]
       - bin : 그룹명
       - x : 그룹 비밀번호 (/etc/gshadow)
       - (g)1 : 그룹번호(GID)
       - root,bin,damon : 그룹의 구성원
 

 ※ /etc/login.defs
  - MAIL_DIR : 사용자 추가시 해당 사용자의 메일함이 저장될 경로


  - PASS_MAX_DAYS : 비밀번호 만료기간
  - PASS_MIN_DAYS  : 비밀번호 만료 후 재설정 가능기간
  - PASS_MIN_LEN    : 비밀번호의 최소 길이
  - PASS_WARN_AGE : 비밀번호 만료 후 경고일자

 

  - UID_MIN          : UID가 가질 수 있는 최소값
  - UID_MAX         : UID가 가질 수 있는 최대값
  - GID_MIN          : GID가 가질 수 있는 최소값
  - GID_MAX         : GID가 가질 수 있는 최대값

 

  - CREATE_HOME              : 사용자의 홈 디렉터리를 생성할 것인지 여부
  - USERGROUPS_ENAB      : '/etc/group' 파일에 그룹을 생성할 것인지 여부
  - MD5_CRYPT_ENAB         : 사용자의 비밀번호를 md5 코드화 할 것인지 여부

 

==========================================================================================

- useradd -
1. 정의 : 사용자 생성할 때 사용

             - 사용자 정보 확인 : cat /etc/passwd [| grep 사용자명]

 

   [특징]
       - 사용자 정보 관련 파일 : /etc/passwd, /etc/shadow

       - 별도의 옵션을 지정하지 않는 한 사용자가 생성될 때
         해당 사용자명과 동일한 '그룹명' 과 기본 홈디렉터리
         아래로 '사용자명' 으로 디렉터리가 생성
         [ UserName => 1. ('-g' : X)/etc/group : GroupName(UserName)
                               2. ('-d' : X)/home  : /home/UserName             ]

 

2. 형식
  - #useradd [옵션] [Argument] [UserName]

 

3. 옵션
  - /etc/passwd 설명 참조!
  - "-m -k" : /etc/skel 의 디렉터리를 변경하여 사용자 생성 가능
                  (argument 부분에 생성된 Dir 입력할 것)

 

   [ 섭수! ]
 ※ 사용자 생성시 알아두기
   - 'uid/gid' 값을 수정하지 않으면 '/etc/passwd'를 참조하여 가장 큰 값의 'uid/gid'에서
      "+1" 값으로 생성된다.

   - 사용자 생성시 "-g" 옵션으로 별도의 gid를 입력하지 않으면 해당 사용자의 uid 값을
      그대로 가지는 gid 값으로 '/etc/group' 추가된다.

   - '-g' 옵션을 사용하는 경우는 '/etc/group' 파일내 정의된 그룹을 사용해야 함.

   - '-d' 옵션을 사용하는 경우는 $HOME으로 사용할 "+/Username" 까지 경로를 입력해야 함.

 

   [ /etc/skel (뼈대) ]
     ㄱ. 정의 : 사용자 추가때 $HOME 생성시 /etc/skel 디렉터리 내용을 참조하여
                   자동 복사형태로 $HOME 이 생성된다.
                   (생성된 사용자 $HOME 과 /etc/skel 의 내용이 동일하게 출력)

 

     ㄴ. 형식
         - #useradd [-m -k /etc/skel] [UserName]

 

     ※ 사용자 기본 참조 디렉터리를 변경하며 생성
         - #useradd -m -k /backup test8

            * 단, "-m -k" 옵션으로 생성한 사용자의 경우 bash-shell 정의 파일이 없으므로,
              로그인시 쉘 오류가 발생 -> /etc/skel 내용을 복사하는 번거로움 발생.

 

==========================================================================================

- useradd -D -
1. 정의 : 사용자 생성의 기본값 정의 (사용자 생성의 환경설정)

          [ 문서 파일 : /etc/default/useradd ]
          [ 명령어 : useradd -D ]

 

 ※ useradd -D 내용 설명
       - (g)GROUP=100         : 사용자 생성 시 기본 GID값이 100부터
       - (b)HOME=/home       : 사용자 생성 시 기본 디렉터리 (Base Home Dir)
       - (f)INACTIVE=-1        : 계정 만료일이 경과되면 사용금지(일) ('0'=만료 즉시 계정잠금 / '-1'=기능 사용 안함)
       - (e)EXPIRE=              : 계정 만료일을 지정(일)
       - (s)SHELL=/bin/bash   :  기본 쉘
       - SKEL=/etc/skel         : 사용자 생성시 자동 복사될 디렉터리
       - CREATE_MAIL_SPOOL=yes
          : 사용자 생성 시 계정명과 동일한 메일 계정 생성

 

2. 형식
  - #useradd -D [옵션] [Argument]

  - #vi /etc/default/useradd

 

[ useradd -D -b 지정시 유의사항 ]
  - 생성되지 않은 디렉터리를 HOME 값으로 지정하면 $HOME 생성불가 오류
  ※ HOME 값으로 지정할 디렉터리를 우선적으로 해당 Dir 생성할 것!
     ('-p' 옵션 적용도 확인)

 

  - Tab 키를 이용한 HOME 값 지정시 '/' 까지 입력되는 오류
  ※ Tab 키를 활용하지 않거나 또는 지정한 디렉터리의 마지막 '/'는 삭제할 것

 

==========================================================================================

- userdel (User Delete) -
1. 정의 : 시스템에 저장된 사용자 정보를 삭제

 

2. 형식
    - userdel UserName        : 사용자 계정만 삭제(/etc/passwd, /etc/shadow, /etc/group)
                                          사용자 디렉터리 삭제 안 됨. (권장사항)
    - userdel [-r] UserName   : 사용자 계정과 사용자 디렉터리
                                           (메일관련, 홈디렉터리 등 포함해서 삭제)

 

==========================================================================================

- usermod (User Modification) -
1. 정의 : 시스템에 저장된 사용자 정보 수정


2. 형식
  - #usermod [옵션] [Argument] [UserName]
     - 해당 명령어의 옵션은 'useradd' 명령어의 옵션과 유사

 

 ※ 사용자 $HOME 내용 변경할때 $HOME 디렉터리도 함께 이동
   - #usermod -d /hosting_users/home/test1 -m test1

        * 즉, 사용자 정보 수정시 $HOME 에 대한 정보(-d 옵션)를 변경하면
         '-m' 의 옵션을 이용해서 해당 디렉터리도 함께 이동이 가능

 

==========================================================================================

- groupadd -
1. 정의 : 시스템에 그룹을 생성하는 명령어

 

2. 설정파일 : /etc/group

 

3. 형식
     - #groupadd [옵션] [Argument] [GroupName]

        ※ 별도의 그룹을 생성하거나 사용자를 그룹에 지정하지 않는 이상
            사용자 생성과 동시에 한 개의 그룹이 자동 생성된다.

 

4. 옵션
   - g : 그룹에 대한 gid 값을 지정하여 생성할 수 있음

         ※ 옵션 X => /etc/group 에서 gid 번호가 가장 큰 수 +1 형태로 그룹이 추가
             옵션 O => /etc/group 에서 존재하는 그룹명/Gid 는 입력이 불가능
     

==========================================================================================

- groupmod -
1. 정의 : 시스템에 그룹을 수정하는 명령어
           
2. 형식
     - #groupmod [옵션] [Argument] [GroupName]

 

3. 옵션
   - g : "/etc/group" 파일내 gid에 해당하는 값을 수정

 

==========================================================================================

- groupdel -
1. 정의 : 시스템에 그룹을 삭제하는 명령어

 

2. 형식
     - #groupdel GroupName

  ※ "/etc/group" 파일내 GroupName 에 해당하는 라인을 삭제

AND